Avatar billede mikze Nybegynder
25. juni 2005 - 17:48 Der er 12 kommentarer og
2 løsninger

Dårlig Kkvalitet

<?php

function uploadandresize($billede_tmp) {

  $maxhojde          = 200;
  $maxbredde          = 100;
 
 
  $billede = imagecreatefromjpeg($billede_tmp);
  $billede_bredde    = imageSX($billede);
  $billede_hojde      = imageSY($billede);   


  if($billede_bredde >= $billede_hojde) {
    $kloxirin = $maxbredde/$billede_bredde;
    $ny_bredde = $maxbredde;
    $ny_hojde = $billede_hojde * $kloxirin;
  }
  else {
    $kloxirin = $maxhojde/$billede_hojde;
    $ny_hojde = $maxhojde;
    $ny_bredde = $billede_bredde * $kloxirin;
  } 

  $nyt_billede = ImageCreate($ny_bredde,$ny_hojde);
  ImageCopyResized($nyt_billede,$billede,0,0,0,0,$ny_bredde,$ny_hojde,$billede_bredde,$billede_hojde);

  header("Content-type: image/jpeg");
  Imagejpeg($nyt_billede,'',100);

  ImageDestroy($billede);
  ImageDestroy($nyt_billede);

}

?>



Det er dårlig kvalitet. Prøv evt. på www.mediahotel.dk
Avatar billede Slettet bruger
25. juni 2005 - 17:58 #1
Prøv at bruge

imagecopyresampled i stedet for imagecopyresized
og
imagecreatetruecolor i stedet for imagecreate
Avatar billede dennismp Nybegynder
25. juni 2005 - 17:58 #2
prøv med: imagecopyresampled()

(Jeg antager at spørgsmålet drejer som at billede ikke er særlig pænt efter scaleringen)
Avatar billede mikze Nybegynder
25. juni 2005 - 18:46 #3
Begge smid et svar :-)
Avatar billede dennismp Nybegynder
25. juni 2005 - 18:48 #4
ok
Avatar billede Slettet bruger
25. juni 2005 - 20:22 #5
Kommer her
Avatar billede mikze Nybegynder
25. juni 2005 - 20:38 #6
Kan en af jer sige mig hvordan jeg så uploader billedet? Jeg har leget lidt med:

$resultat = Imagejpeg($nyt_billede,'',100);
echo "$resultat";
move_uploaded_file($resultat, "./uploadmappe/billede.jpg");

som ikke virker, men hvis jeg prøver at uploade min $billede_tmp så virker det, det er bare det forkerte jeg får uploadet(selvfølgelig).
Avatar billede xyborx Nybegynder
25. juni 2005 - 20:42 #7
Ifølge manualen skal 2. parameter til imagejpeg være det filnavn du vil gemme billedet som, så jeg forstår ikke hvorfor du sætter den til en tom streng. Prøv i stedet:

imagejpeg($nyt_billede,'./uploadmappe/billede.jpg',100);
Avatar billede Slettet bruger
25. juni 2005 - 20:45 #8
Bare ret til

Imagejpeg($nyt_billede,'./uploadmappe/billede.jpg',100);
Avatar billede mikze Nybegynder
25. juni 2005 - 20:48 #9
:-)
Avatar billede mikze Nybegynder
25. juni 2005 - 21:00 #10
- hvorefter den ikke viser noget billede, og intet uploader.
Avatar billede Slettet bruger
25. juni 2005 - 21:03 #11
Ok, så

Imagejpeg($nyt_billede,'',100); // Viser billedet
Imagejpeg($nyt_billede,'./uploadmappe/billede.jpg',100); //gemmer billedet
Avatar billede xyborx Nybegynder
25. juni 2005 - 21:05 #12
I stedet for at generere jpeg versionen flere gange, hvilket er lidt spild af cpu, så er det vel bedre at gøre sådan:

imagejpeg($nyt_billede,'./uploadmappe/billede.jpg',100);
readfile('./uploadmappe/billede.jpg');
Avatar billede mikze Nybegynder
25. juni 2005 - 21:21 #13
FRÆKT. God.. påskeferie!! nå, tak for hjælpen!
Avatar billede Slettet bruger
25. juni 2005 - 21:21 #14
Det har du nok ret i, for efter at have gemt billedet ligger det vel stadig i ram, så der skal jo heller ikke læses fra disk.
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