Страница 1 из 1
Imagemagick - Темные картинки
Добавлено: 06 ноя 2012, 17:39
surfman
Перешел с другого сервера на Open-server. Там небыло imagemagick, поэтому устанавливал отдельно.
На сборке Open-server картинки после ресайза почему то получаются слишком темными, какую настройку и где нужно изменить?
Настройки конвертации в CMS не менялись, так как просто востановил бекап сайта.
Добавлено: 06 ноя 2012, 17:48
Максим
Ну тут я вам ничего не подскажу. Это надо полный код видеть который обрабатывает картинку, а так же посмотреть ваши картинки нормальную и темную, как пример. Если сможете показать php код и картинки, тогда может чего и прояснится. В Open Server используются файлы ImageMagick 6.7.9, может другие версии по другому обрабатывали графику у вас, не знаю.
Добавлено: 08 ноя 2012, 23:24
surfman
Про код я даже не знаю что показать. Используется CMS TYPO3. На хостинге все норма, на старом сервере я качал отдельно ImageMagick-6.6.4-9-Q16-windows-dll.exe и устанавливал.
И вроде бы все, сделал бекап на старом, а на новом такое:
Добавлено: 08 ноя 2012, 23:28
Максим
Можно картинку в оригинале? На что касается кода , то без кода я врятли вам чем то помогу, нужен код, возможно дело в нем. В разных версиях Imagick возможно разные настройки по умолчанию.
Добавлено: 09 ноя 2012, 16:59
surfman
Вот оригинал.
Я еще попробую узнать на форуме поддержки Typo3.
Добавлено: 09 ноя 2012, 17:22
Максим
Протестировал вашу фотографию, превью создаются как положено, вот результат на 200 пикселей (файл приложен к сообщению). Так что проблема в вашей CMS, думаю обсуждать больше нечего.
Вот код:
<?php
// Set image file
$imagePath = dirname(__FILE__).'/Slingshot_Rally_2012.jpg';
// these are treated as maximums and aspect ratio is maintained
$thumbnailWidth = 200;
$thumbnailHeight = 200;
// load the original image
$image = new Imagick($imagePath);
// get the original dimensions
$width = $image->getImageWidth();
$height = $image->getImageHeight();
// strip colour profiles
$image->stripImage();
// set colorspace
$image->setImageColorspace(Imagick::COLORSPACE_SRGB);
// set image quality
$image->setImageCompressionQuality(96);
// determine which dimension to fit to
$fitWidth = ($thumbnailWidth / $width) < ($thumbnailHeight / $height);
// create thumbnail
$image->thumbnailImage(
$fitWidth ? $thumbnailWidth : 0,
$fitWidth ? 0 : $thumbnailHeight
);
// trim image
$image->trimImage(0);
// small sharpen for best quality
$image->sharpenImage(0, 0.5);
// generate a thumbnail filename
$imagePathParts = pathinfo($imagePath);
$thumbnailPath =
$imagePathParts['dirname'].'/'.
$imagePathParts['filename'].'_'.
$thumbnailWidth.'x'.$thumbnailHeight.
'.jpg';
// save thumbnail and free up memory
$image->writeImage($thumbnailPath);
$image->clear();
$image->destroy();
?>