Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skalowanie image bez pikselizacji ??
Forum PHP.pl > Forum > PHP
bartu$
Mam pytanie czy php potrafi i poradzi sobie ze skalowaniem obrazow.

Chodzi o skalowanie bez pikselizacji, wykorzystujac interpolacje dwuliniowa, i probkowanie pikseli obrazu wejsciowego.

Wiem ze php jest bardzo wydajny, ale czy poradzi sobie z tym ?

Jesli ktos zna odpowiedz, lub nawet jesli ktos ma juz taki skrypt albo wie skad moglbym cos takiego sciagnac, bylbym wdzieczny za wszelka pomoc.

Bardzo jest mi potrzebny taki skrypt/program a bardzo chce skorzystac tu z php, gdyz jego skladnia jest wg. mnie przyjemniejsza od innych jezykow programowania.

Pozdrawiam. smile.gif
halfik
No php jest dobry, ale nie aż tak winksmiley.jpg Są tam jakieś bajerki od wygładzania itd. ale to nie to, czego Ci potrzeba. Oczywiście mogę się mylic, bo za dużo się nie przyglądałem funkcją z bibliotek spod rodzinki GD - tyle co mi było trzeba to wiem, a nie potrzebowałem nigdy rozciągać grafiki i do tego wszystko tak wygładzić żeby nie robiła się pikseloza.
bartu$
Dziekuje Halfik za Twoja odpowiedz na moje pytanie.

I bardzo prosze innych, zwlaszcza tych co jednoznacznie moga powiedziec "tak" lub "nie" na pytanie czy php sie do tego nadaje.

Chodzi o skalowanie i probkowanie pixel po pixelu.

Ja dotychczas pisalem skrypty do obslugi formularzy winksmiley.jpg
Dlatego teraz siedze i czytam o bibliotece GD. Nie wiem czy nie szkoda czasu.

Jesli ktos ma źródła lub wie skąd ściągnąć źródła tak działającego programu - niekoniecznie napisanego w php, to bardzo prosze o pomoc.
halfik
Odpowiedź brzmi: nie. Przynajmniej jeszcze nie teraz. To co ma php, to raczej do prostego generowania prostych grafik, to jeszcze nie jest openGL lub DirectX winksmiley.jpg
orson
witam ...

sam php i gd ci tego nie zrobi ... ale mozesz sie zainteresowac moze jakims konwerterem ... czyms co mozesz wywolac z linij polecen ... na *nixach na pewno cos takiego jest ... a na win nie wiem czy infran_view nie ma wywolywania z linji ...

cya
bartu$
Dziekuje za odpowiedzi ale poszukuje pelnej implementacji algorytmu skalowania.

Pozdrawiam.
id4
Witam

Spróbuj skorzystać z tego - upewnij się, że na pewno masz GD2
[php:1:b3bec9e6ed]<?php
// plik generowania miniatur
if($file && $width && $height) // nazwa pliku - max szerokosc miniatury - max wysokosc miniatury
{
$photo="../".$_site[imagedir].$file;
$photosize=getimagesize($photo);
if($photosize[2]==1)$photofile=imagecreatefromgif($photo);
if($photosize[2]==2)$photofile=imagecreatefromjpeg($photo);
if($photosize[2]==3)$photofile=imagecreatefrompng($photo);

$photoX[0]=round($width/$photosize[0],10);
$photoX[1]=round($height/$photosize[1],10);

if($photoX[0]>$photoX[1])$photoX[2]=$photoX[1];
else $photoX[2]=$photoX[0];

$newimagesize[0]=ceil($photosize[0]*$photoX[2]);
$newimagesize[1]=ceil($photosize[1]*$photoX[2]);

if($newimagesize[0]>$width)$newimagesize[0]=$width;
if($newimagesize[1]>$height)$newimagesize[1]=$height;

if(function_exists(imagecreatetruecolor))$newimage=imagecreatetruecolor($newimag
size[0],$newimagesize[1]);
else $newimage=imagecreate($newimagesize[0],$newimagesize[1]);
if(function_exists(imagecopyresampled))imagecopyresampled($newimage,$photofile,0
0,0,0,$newimagesize[0],$newimagesize[1],$photosize[0],$photosize[1]);
else imagecopyresized($newimage,$photofile,0,0,0,0,$newimagesize[0],$newimagesize[1],
photosize[0],$photosize[1]);

header("Content-type: image/png");
imagepng($newimage);
imagedestroy($newimage);
}
?>[/php:1:b3bec9e6ed]
FiDO
Moze to: http://www.imagemagick.org/ Cie zainteresuje ?
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.