Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Как на PHP определить размер картинки jpg?


Автор: Vit 11.9.2005, 23:12
Имеется ввиду не размер файла конечно, а высота и ширина в пикселях.


PS. Прошу не пинать ногами, если вопрос ламерский.... Опыт в PHP - часа полтора на сей момент...

Автор: PARROT 11.9.2005, 23:17
Код

$size = getimagesize ($mas[11]); 

Автор: AntonioBanderaz 11.9.2005, 23:54
Код

function getHeight($file) {
      $H = GetImageSize($file);
      return $H[1];
}

function getWidth($file) {
     $W = GetImageSize($file);
      return $W[0];
}

//Чтоб скалить мона было...
function getScaledWidth($file, $height) {
    $H = GetImageSize($file);
    $W = GetImageSize($file);
    if($H[1]!=0) {
        $k = $W[0] / $H[1];
        $width = $height * $k;
        return $width;
    } else {
        return 0;
    }
}

Автор: Mal Hack 12.9.2005, 13:15
AntonioBanderaz это лишнее....

Дополню ответ PARROT тем, что будет возвращен массив, в котором:
Цитата
Index 0 contains the width of the image in pixels. Index 1 contains the height. Index 2 is a flag indicating the type of the image: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. These values correspond to the IMAGETYPE constants that were added in PHP 4.3.0. Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.

Автор: Vit 12.9.2005, 15:15
Спасибо большое

Автор: AntonioBanderaz 13.9.2005, 00:24
Кстати не знаете почему глючит если к массиву, возвращаемому GetImageSize($file); обратится второй раз, он вернёт 0. ну это у меня так.

Автор: -=Ustas=- 13.9.2005, 07:56
Т.е. как второй раз обратиться? Чем?

Автор: AntonioBanderaz 13.9.2005, 14:32
Ну вот посмотри на ту несуразность, которая у меня написана, в getScaledWidth(); там идёт два разных вызова ф-ции getSize... () усли делать все через одну переменную, т.е.
вот так не работает:
Код

    $IS = GetImageSize($file);    
     $w = $IS[0];
     $h = $IS[1];
//с шириной всё ок, а с высотой нуль.


А так всё ок:
Код

$H = GetImageSize($file);    
$W = GetImageSize($file);

только через Ж...

Мне кажется эт бред какой-то...

Автор: Opik 15.9.2005, 13:31
Код

<?php
     $IS = GetImageSize('stock/invent2.jpg');
     printf("Image weight: %d, height: %d", $IS[0], $IS[1]);
?>

Всё работает на ура

Автор: AntonioBanderaz 19.9.2005, 01:47
У меня там ошибка была в старом скрипте, вместо равенства - сравнение было, вот и 0: smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)