• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Images zu schlechte Qualität

Status
Für weitere Antworten geschlossen.

philipp

Neues Mitglied
Hallo

Wenn ich per PHP ein Thumbnail erstellen lasse, dann is meistens die qualität viel zu schlecht, mein script, dass ich schon lange benutze:

PHP:
$thumbsize = 158;
$imgfile = "img/ausgaben/".$_POST['ausgabennr']."/".$bild.".jpg";
list($width, $height) = getimagesize($imgfile);
$imgratio=$width/$height;
if ( $imgratio > 1 ) {
 $newwidth = $thumbsize;
 $newheight = $thumbsize/$imgratio;
} else {
 $newheight = $thumbsize;
 $newwidth = $thumbsize*$imgratio;
}
$thumb = ImageCreateTrueColor($newwidth,$newheight);
$source = imagecreatefromjpeg($imgfile);
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($thumb,"img/ausgaben/".$_POST['ausgabennr']."/".$bilds.".jpg",70);
hab ich von php.net

gibts ne möglichkeit bessere qualität zu bekommen (mit dem parameter 100 in imagejpeg wirds auch ned besser)
 
Dazu gabs schon hunderte Threads, die Suche zu benutzen, hilft:twisted: :twisted: :twisted:

p=79385

Das du auch noch was zum tun hast^^
 
dein ernst? in dem thread gings um was anderes, ausserdem hab dort auch selbst jemandem geholfen. mein problem betrifft die schlechte arbeit von php beim erstellen eines jpg bildes.. zumindest mit diesem script.

aber danke trotzdem
 
Bringt aber nichts, wenn das automatisch gehen soll.

"Lieber User, bitte Benutze ImageMagick (?), um ein Thumbnail von genau der Grösse x auf y zu erstellen und lade das dann hoch." ;ugl
 
ImageMagick muss nur als Applikation auf dem Server verfügbar sein und kann über den PHP-Befehlt exec() aufgerufen werden.
Da die Installation von ImageMagick keine zusätzlichen Sicherheitsrisiken bringt, ist es auf Nachfrage bei den meisten Hostern verfügbar.
 
Noch eine Frage zu solchen scripts. ich bau gerade ein etwas umfangreicheres CMS mit allem drumm und drann, dass ich dann immer verwenden will und auch weiterentwickeln. das script zum bilder raufladen soll nur

-GIF
-JPEG
-PNG
-BMP

zulassen. soweit so gut, hab ich über exif_imagetype(); gelöst.

muss ich nun für alle types ein eigenes script schreiben?
oder gibts da bessere möglichkeiten vielleicht?
 
Naja an der stelle wo sich die scripte unterscheiden wuerden halt eine switch anweisung mit den verschiedenen befehlen (kleines php 1x1).

ImageMagick ist das eh egal. (der shell befehl dafür ist "convert", einfach mal die man page angucken)
 
die switch anweisung hab ich ja bis jetzt auch schon gemacht.. ich wollt nur mal wissen ob ich die 3 scripte umsonst schreibe, oder obs echt keine einfachere möglichkeit gibt. imagemagick würd mein "cms" nicht "standalone" fähig bleiben lassen. bisher hab ich alles in php/sql/js selbst gemacht bis auf tinymce.

naja, dann werd ich mit dem scripten anfangen...
 
imagemagick würd mein "cms" nicht "standalone" fähig bleiben lassen.

Und was ist mit den vielen servern die ImageMagick haben aber keine GD Library? (Abgesehen davon das aktuelle php versionen sowieso kein GIF Format mehr können)

Zweigleisig fahren!

ps: und warum mehrere scripts? ein script reicht doch
 
Zuletzt bearbeitet von einem Moderator:
1)ja, sind tatsächlich nur 2 befehle zu ändern gewesen in meinem script damit es für gif und png passt, hätt ich auch switchen können...

2)wieso kein gif format mehr?

3)is die GD library auch nicht überall installiert? oman..

Zweigleisig fahren!
ja, vorher werd ich aber eine version fertigstellen, dann mach ich die alternativversionen

hab noch ein problem mit einem script, dass mit einer bildergaleriefunktion zu tun hat. php gibt die fehlermeldung "invalid argument" in einer foreach schleife aus. sieht so aus:

PHP:
  $newimgIDs = $_POST['imgIDs'];
  foreach ($newimgIDs as $value) {
   if (ereg($value, $actimgIDs)) {
	unset($value);
   }
  }


das array bekomme ich über ein formular (checkboxen).

naja, ich denk da komm ich eh gleich dahinter, also danke schonmal für die hilfe bisher
 
1) warum fragst du zweimal, kriegst zweimal ne positive antwort und machst es dann immer noch "falsch" ?

2) Natürlich nicht, ich hab auch php versionen die keine datenbank funktionen haben - ist halt alles modular.

3) Einfach mal ein var_dump() machen und angucken ob das wirklich ein Array ist ;) (was ich nicht glaube, hab eigentlich noch nie versucht mehreren checkboxen den gleichen namen zu geben)

ps:
GD-Versionen älter als gd-1.6 unterstützen GIF aber kein PNG. Neuere Versionen als gd-1.6 und ältere als gd-2.0.28 unterstützen PNG, aber kein GIF. In gd-2.0.28 gibt es erstmals wieder Unterstützung für GIF.

Hat natürlich Rechtliche Gründe mit gif, naja selbst schuld wenn man geschützte formate benutzt.
 
tatsächlich... es is kein array, es is ein string.

wie würdest dud as lösen?

es soll so funktionieren, dass man aus eine online-bild-datenbank (bestehend aus allen hochgeladenen bildern) bilder in ein album laden kann, also wollt ich das mit checkboxen machen. das wäre sehr bequem weil ich das etwas umständlicher gelöst habe. in den alben gibts ne spalte, die sich imgIDs nennt, in der sind die IDs der bilder gespeichert. in dieser form:

#1#4#18

jetz wollt ich das array bekommen, überprüfen ob eine id bereits gespeichert is und dann imploden und anschliessend anhängen.

bild: http://artfactory.at.serveftp.net/cemesshots/1.png
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben