Avatar billede jenslyn_s Nybegynder
31. maj 2006 - 15:32 Der er 13 kommentarer og
1 løsning

Resizing af billeder. Aroblemer med kval.-tab

Ikke helt optimal kvalitet når jeg resizer med følgende script - er der et andet alternativ som ikke sænker kvaliteten på samme måde?

$dst_img = imagecreatetruecolor($width,$height);
$src_img=ImageCreateFromJpeg("$image");
ImageCopyResampled($dst_img,$src_img,0,0,0,0,$width,$height,ImageSX($src_img),ImageSY($src_img));
ImageJpeg($dst_img, $path."l_" . $nytNavn);
Avatar billede jakobdo Ekspert
31. maj 2006 - 16:56 #1
Du kan evt prøve om denne funktion giver bedre resultat:

function resize( $filename, $newfilename, $maxw, $maxh )
{
    $srcim = imagecreatefromjpeg( $filename );
    $ow = imagesx( $srcim );
    $oh = imagesy( $srcim );
    $wscale = $maxw / $ow;
    $hscale = $maxh / $oh;
    $scale = ( $hscale < $wscale ? $hscale : $wscale );
    $nw = round( $ow * $scale, 0 );
    $nh = round( $oh * $scale, 0 );
    $dstim = imagecreatetruecolor( $nw, $nh );
    imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
    imagejpeg( $dstim, $newfilename, 100);
    imagedestroy( $dstim );
    imagedestroy( $srcim );
    return file_exists($newfilename);
}
Avatar billede jenslyn_s Nybegynder
31. maj 2006 - 17:18 #2
Umiddelbart er det da det samme, eller?
Avatar billede loevgaard Praktikant
31. maj 2006 - 17:27 #3
Her er en funktion jeg bruger i en klasse, hvis du ikke kan gennemskue, skrver du bare igen :)

function resizeImage($newWidth) {
if($this->getWidth() > $newWidth) {
// Get new sizes
$width = $this->getWidth();
$height = $this->getHeight();
$factor = ($width/$height);
$newHeight = ($newWidth/$factor);

// Load
$thumb = imagecreatetruecolor($newWidth, $newHeight);
// Resize
imagecopyresized($thumb, $this->image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

// Output
$this->image = $thumb;
}
}
Avatar billede jakobdo Ekspert
31. maj 2006 - 19:53 #4
Jenslyn_s: Har du testet koden?
Avatar billede jenslyn_s Nybegynder
15. juni 2006 - 16:19 #5
Nej - jeg været doven. Synes jeg mangler nogle argumenter til hvorfor jeres burde være bedre end min kode - arg. for metode i.e.
Avatar billede jakobdo Ekspert
15. juni 2006 - 16:23 #6
Min kode har f.eks.: imagejpeg( $dstim, $newfilename, 100);

100 er bedst!
Du bruger standard 75:
quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).

Det er en forskel på 25.
Avatar billede loevgaard Praktikant
16. juni 2006 - 08:11 #7
Du kunne også bare prøve koden, i stedet for at lade sprøgsmålet stå hen...
Avatar billede jakobdo Ekspert
16. juni 2006 - 08:35 #8
l0vgaard: Er det ikke snyd? Er det ikke bedre at spørge og spørge? :o)
Avatar billede loevgaard Praktikant
16. juni 2006 - 08:40 #9
Jeg tror du kan regne ud, hvad jeg mener, når du ser denne side: http://www.eksperten.dk/list.phtml?sort=&order=DESC&status_1=on&status_2=on&spm_creator=jenslyn_s&spm_part=&spm_answer=&find=&engine=exp

Han er ikke videre flink til at lukke eller følge op på sine spørgsmål...
Avatar billede jakobdo Ekspert
16. juni 2006 - 09:03 #10
Det var nu også ment ironisk.
Jeg synes i genial ide ville være hvis det kun var muligt at have et spørgsmål åbent ad gangen, og man ikke kunne tage egne point. Så ville problemet hurtigt kunne minimeres.
Avatar billede jenslyn_s Nybegynder
22. juni 2006 - 17:32 #11
Tak, jakob. Lige det jeg behøvede. Smid et svar.

Ang. åbne spg. - så sørger jeg for at lukke, men kan ikke tjekke 24/7 for at se om person x har smidt svar.

Ang. idéen om kun at have 1. åben spg. - lyder dumt. Hvad så hvis fyren med det gode svar er 2 dage om at 'svare'......

Og tilsidst: is på....
Avatar billede jakobdo Ekspert
22. juni 2006 - 17:55 #12
Svar!
Avatar billede jakobdo Ekspert
22. juni 2006 - 18:53 #13
Takker for point.
Avatar billede loevgaard Praktikant
22. juni 2006 - 20:46 #14
Nej, du kan vel ikke tjekke for spørgsmål, der ikke er lukket, som er oprettet for et par år siden, den er jeg med på.......
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester