Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z robieniem miniaturek i tła w jpg.
Forum PHP.pl > Forum > PHP
treewood
Mam skrypt, który jak widac pobiera plik (zmienna $plik)
i przerabia zdjecie tak by bylo odpowiedniej wielkosci (zmienna $size).
Jednak pojawia sie problem, ze w czasie przerobki czasami w miniaturce pojawia sie czarna kreska jednopikselowa ... jak temu zaradzic?
moze cos zle w obliczeniach ($width = ($height/$imageHeight)*$imageWidth) a moze trzeba tylko gdzies zdefiniowac jakie ma byc tlo zdjecia? bo domyslnie daje czarna kreske a co zrobic, zeby byla domyslnie biala kreska?

[php:1:511b054860]<?php
$plik="zdjecie.jpg";
$plik_2="zdjecie_m.jpg";

$picture_location = "foto/".$plik;
$picture_save = "foto/".$plik_2;
$size=150;

$im_size = GetImageSize ( $picture_location) or $wynik=0;
$imageWidth = $im_size[0];
$imageHeight = $im_size[1];
$im2 = ImageCreateFromJPEG($picture_location) or $wynik=0;

$width=$size;
$height = ($width/$imageWidth)*$imageHeight;

$wspolczynnik = $width/$height;

if ($wspolczynnik < 0.65){
$height=$size;
$width = ($height/$imageHeight)*$imageWidth;
}

$im = imageCreateTrueColor( $width, $height );
ImageCopyResized ($im,$im2, 0, 0, 0, 0, $width, $height, $imageWidth, $imageHeight);
Imagejpeg($im,$picture_save,75) or $wynik=0;
ImageDestroy($im);
ImageDestroy ($im2);
?>[/php:1:511b054860]
wallace
ja przegladam i nie dopatrzylem sie nic zlego ... moze powinienes zaokraglic funkcja round() wynik w linijce 15 oraz 21
pozdrawiam
dooshek
zamiast
ImageCopyResized ($im
zrob
ImageCopyResampled ($im

moze pomoze smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.