Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
mildi
Threadersteller
Dabei seit: 22.12.2004
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 13.09.2005 15:05
Titel [Frage] Transparente Gifs und Pngs mit GD - Wie? |
|
|
Hallo zusammen,
*.jpgs lassen sich so ganz zufriedenstellend "resaplen":
Code: | function resample ($file, $width, $qualitaet)
{
$src_img = imagecreatefromJPEG("../assets/bildspeicher/".$file);
if ($width!=x) // FALLS DIE GROESSE NICHT VERAENDERT WERDEN SOLL WIRD "x" UEBERGEBEN.
{
$new_w = $width; // breite auf $width setzen
$new_h = imagesy($src_img)*$width/imagesx($src_img);
}
else
{
$new_w = imagesx($src_img);
$new_h = imagesy($src_img);
}
$compression = $qualitaet; // 100 ist beste
$dst_img = imagecreatetruecolor($new_w,$new_h);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $new_w, $new_h, imagesx($src_img), imagesy($src_img));
imagejpeg($dst_img, "../assets/bildspeicher/resamples/".$file, $compression);
imagedestroy($src_img); // Speicher frei machen
imagedestroy($dst_img);
}
|
...wie lassen sich da jetzt noch am geschicktesten *.gif bzw *.png
mit (möglicherweise tranzparenten Bereichen) umwandeln?
BITTE SEI SO NETT, UND TIPP MIR DAS DA EBEN REIN!
...ich werde es dann testen, und hier wieder veröffentlichen, da (glaub ich) mehrere so ein Script gbrauchen können!
DANKE
Zuletzt bearbeitet von mildi am Di 13.09.2005 21:05, insgesamt 2-mal bearbeitet
|
|
|
|
|
mildi
Threadersteller
Dabei seit: 22.12.2004
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 24.09.2005 18:57
Titel
|
|
|
So, das "Hauptscript" hab ich jetzt mal gebastelt (siehe unten).
Allerdings bin ich immer noch ratlos wie die tranzparenten Bereiche von
gifs (und pngs) erhalten werden können.
...experimentiere gerade mit:
- ImageColorTransparent()
in Verbindung mit:
- ImageColorAllocate()
und:
- imagealphablending()
Kennt jemand den richtigen Syntax???
Code: |
function resample ($file, $width, $qualitaet)
{
// Dateinamenerweiterung ermitteln:
$dateinamenerweiterung=strrchr($file,".");
if ($dateinamenerweiterung == ".jpg")
{
$src_img = imagecreatefromJPEG("../assets/bildspeicher/".$file);
}
if ($dateinamenerweiterung == ".gif")
{
$src_img = imagecreatefromGIF("../assets/bildspeicher/".$file);
}
if ($dateinamenerweiterung == ".png")
{
$src_img = imagecreatefromPNG("../assets/bildspeicher/".$file);
}
if ($width!=x) // FALLS DIE GROESSE NICHT VERAENDERT WERDEN SOLL WIRD "x" UEBERGEBEN.
{
$new_w = $width; // breite auf $width setzen
$new_h = imagesy($src_img)*$width/imagesx($src_img);
}
else
{
$new_w = imagesx($src_img);
$new_h = imagesy($src_img);
}
$compression = $qualitaet; // 100 ist beste
$dst_img = imagecreatetruecolor($new_w,$new_h);
if ($dateinamenerweiterung == ".gif")
{
????????????????????
}
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $new_w, $new_h, imagesx($src_img), imagesy($src_img));
if ($dateinamenerweiterung == ".jpg")
{
imagejpeg($dst_img, "../assets/bildspeicher/resamples/".$file, $compression);
}
if ($dateinamenerweiterung == ".gif")
{
imagegif($dst_img, "../assets/bildspeicher/resamples/".$file, $compression);
}
if ($dateinamenerweiterung == ".npg")
{
imagepng($dst_img, "../assets/bildspeicher/resamples/".$file, $compression);
}
imagedestroy($src_img); // Speicher frei machen
imagedestroy($dst_img);
}
|
DANKE!
|
|
|
|
|
Anzeige
|
|
|
|
|
|
Ähnliche Themen |
keine Transparenz von GIFs und PNGs beim Drucken...
Transparente PNGs
Transparente 8 Bit PNGs
ie6 z-index und transparente pngs...
Transparente pngs überlappen lassen?
transparente gifs mit gimp
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|