[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Класс обработки изображений
Hugonavy
Здравствуйте уважаемые!
Решил сэкономить времени и скачал готовый класс ClassSimpleImage авторства Simon Jarvis. Но он отказался работать на php7 и пришлось его немного переделать, дабы начал работать (класс был написан в 2006 г).

В итоге все работает, при работе с Jpeg. Если загружаю GIF или PNG - все тоже работает, но сохраненные файлы не читабельны, а в браузер выводит черт знает что.

Помогите пожалуйста понять в чем беда.

Класс img_creator.php

<?php

Class
ImageCreator {
public $image;
public $image_type;

//Загрузка
function load($fname) {
$image_info = getimagesize($fname);
$this->image_type = $image_info[2];
if($this->image_type == 2) {
$this->image = imagecreatefromjpeg($fname);
} elseif($this->image_type == 1) {
$this->image = imagecreatefromgif($fname);
} elseif($this->image_type == 3) {
$this->image = imagecreatefrompng($fname);
}
}


function getWidth() {
return imagesx($this->image);
}
function getHeight() {
return imagesy($this->image);
}

//Изменить размер
function resize($width, $height) {
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}

//Вывод в браузер
function output() {
if($this->image_type == 2 ) {
header('Content-type: image/jpg');
imagejpeg($this->image);
imagedestroy($this->image);
} elseif($this->image_type == 1 ) {
header('Content-type: image/gif');
imagegif($this->image);
imagedestroy($this->image);
} elseif($this->image_type == 3 ) {
header('Content-type: image/png');
imagepng($this->image);
imagedestroy($this->image);
}
}


//сохранение файла
function save($new_fname, $compression=75) {
if($this->image_type == 2) {
imagejpeg($this->image, $new_fname, $compression);
} elseif($this->image_type == 1) {
imagegif($this->image, $new_fname);
} elseif($this->image_type == 3) {
imagepng($this->image, $new_fname);
}
}

}

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.