искам да изрежа изображение във формат .tif с помощта на php

искам да изрежа изображение във формат .tif с помощта на php. направих, ако изображението е във формат .jpg, gif или png, но искам да изрежа изображение .tif с определени размери, т.е. от 200x200 направо от пълно изображение от 1024x1024. моля, помислете, че е формат .tif.

http://rkwebsolutions.in.md-16.webhostbox.net/check/8713855051.tif

използвам тази функция за изображение във формат jpeg/png/gif, но не мога да изрежа .tif изображение

function cropImage($source_image, $target_image, $crop_area)
{
    // detect source image type from extension
    $source_file_name = basename($source_image);
    $source_image_type = substr($source_file_name, -3, 3);

    // create an image resource from the source image  
    switch(strtolower($source_image_type))
    {
        case 'jpg':
            $original_image = imagecreatefromjpeg($source_image);
            break;

        case 'gif':
            $original_image = imagecreatefromgif($source_image);
            break;

        case 'png':
            $original_image = imagecreatefrompng($source_image);
            break;    

        default:
            trigger_error('cropImage(): Invalid source image type', E_USER_ERROR);
            return false;
    }

    // create a blank image having the same width and height as the crop area
    // this will be our cropped image
    $cropped_image = imagecreatetruecolor($crop_area['width'], $crop_area['height']);

    // copy the crop area from the source image to the blank image created above
    imagecopy($cropped_image, $original_image, 0, 0, $crop_area['left'], $crop_area['top'], 
              $crop_area['width'], $crop_area['height']);

    // detect target image type from extension
    $target_file_name = basename($target_image);
    $target_image_type = substr($target_file_name, -3, 3);

    // save the cropped image to disk
    switch(strtolower($target_image_type))
    {
        case 'jpg':
            imagejpeg($cropped_image, $target_image, 100);
            break;

        case 'gif':
            imagegif($cropped_image, $target_image);
            break;

        case 'png':
            imagepng($cropped_image, $target_image, 0);
            break;    

        default:
            trigger_error('cropImage(): Invalid target image type', E_USER_ERROR);
            imagedestroy($cropped_image);
            imagedestroy($original_image);
            return false;
    }

    // free resources
    imagedestroy($cropped_image);
    imagedestroy($original_image);

    return true;
}


// using the function to crop an image
$source_image = 'image.jpg';
$target_image = 'cropped_image.jpg';
$crop_area = array('top' => 100, 'left' => 100, 'height' => 300, 'width' => 300);

cropImage($source_image, $target_image, $crop_area);

може ли някой да помогне благодаря предварително.


person ashutosh    schedule 14.05.2013    source източник


Отговори (1)


Можете първо да конвертирате изображението си в jpg, след което да преоразмерите. Примерен код, ако имате инсталиран imagemagic на вашия сървър:

exec("convert /path/to/file.tiff /path/to/file.jpg", $err);
person Agrest    schedule 14.05.2013
comment
няма ли да е възможно да го преоразмерите без да го конвертирате в jpg ?. - person ashutosh; 14.05.2013
comment
Може би има начин да преоразмерите без конвертиране. След преоразмеряване все още можете да преобразувате от преоразмерен jpg в tiff, ако желаете - person Agrest; 14.05.2013
comment
Опитах се да конвертирам изображение, но изглежда, че imagemagic изображението не е инсталирано на моя сървър, можете ли да насочите. - person ashutosh; 14.05.2013
comment
за да проверите дали imagick е инсталиран, следете за раздел imagick в phpinfo() - person Agrest; 14.05.2013
comment
И ако искате да го инсталирате, има много уроци за това в мрежата. - person Agrest; 14.05.2013
comment
благодаря за всичките ви отговори. Работя с win7, можете ли да ме насочите как мога да го конфигурирам на моя локален сървър и друг, искам да кача zip папка, която има 1000 изображения, искам да кача всички изображения в zip папка веднъж и изрежете всяка идея. Благодаря предварително - person ashutosh; 14.05.2013
comment
Има много статии как това да изглежда тук stackoverflow.com/search?q=install+imagemagick +на+локален+сървър или тук google.pl/ Вярвам, че ще намерите как да го направите. - person Agrest; 16.05.2013