Работает все нормально миниатюры создаются , но цвет фона у всех прозразных типов (gif,png) получается черный.
Хотя вроде переиенная $white = imagecolorallocate($dest_img, 255, 255, 255);
установлена в белый цвет, но она не где не используется.
Помогите это исправить.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function createThumb($path){//path to the user folder into upload
- global $filename;
- global $username;
- $width = 150;//thumb width
- $height = 100;//thumb height
- // имя файла с маштабируемым изображением
- $big = $orig_directory.$filename;
- // имя файла с уменьшенной копией
- $small= $thumb_directory.$filename;
- //определиям коэфицент сжатия генерируемого изображения
- $ratio = $width/$height;
- // получаем размеры исходного изображения
- // если размеры меньше, то маштабирование не нужно
- if(($width_src<$width) && ($height_src<$height)) {
- return true;
- }
- // получаем коэфицент сжатия исходного изображения
- $src_ratio = $width_src/$height_src;
- // вычисляем размеры уменьшенной копии, чтобы при мащтабировании сохранились пропорции исходного изображения
- if ($ratio<$src_ratio) {
- $height = $width/$src_ratio;
- }
- else {
- $width = $height*$src_ratio;
- }
- // создаем пустое изображение п заданным размерам
- // маштабируем изображение функцией imagecopysapled()
- // $dest_img - уменьшенная копия
- // $src_img - исходное изображение
- // $width - ширина уменьшенной копии
- // $height - высота уменьшенной копии
- // $size_img[0] - ширина исходного изображения
- // $srze_img[1] - высота исходного изображения
- $src_img,
- 0,
- 0,
- 0,
- 0,
- $width,
- $height,
- $width_src,
- $height_src);
- // сохраняем уменьшенную копию в файл
- // очищаем память от созданных изображений
- return true;
- }