simenss Skrevet 21. september 2004 Del Skrevet 21. september 2004 (endret) Jeg prøver å lime inn en tekst over et bilde generert i PHP, men får bare et svart bilde. Koden jeg bruker er: <?php header("image/jpeg"); $im = imagecreate(300,300); imagecolorallocate($im,180,160,255); $im_over = imagecreate(300,300); imagettftext($im_over, 20, 0, 50, 50, "FFFFFF", "Arial.TTF", "Min tekst..."); imagefilter($im_over, IMG_FILTER_SMOOTH, 0); imagecopy($im, $im_over, 0, 0, 0, 0,imagesx($im_over), imagesy($im_over)); imagedestroy($im_over); imagejpeg($im); imagedestroy($im); ?> Endret 23. september 2004 av simenss Lenke til kommentar
Lokaltog Skrevet 21. september 2004 Del Skrevet 21. september 2004 Ser ikke hvorfor du skal opprette to bilder her. Du må også definere alle farger du skal bruke vha. imagecolorallocate(). Når du lager JPEG-bilder med PHP kan det også være veldig lurt å justere kvaliteten på bildet (siste parameter i imagejpeg()). Header er også feil, er rettet på under. <?php header("Content-Type: image/jpeg"); $im = imagecreate(300,300); $bgcolor = imagecolorallocate($im,180,160,255); $textcolor = imagecolorallocate($im, 255, 255, 255); imagettftext($im, 20, 0, 50, 50, $textcolor, "Arial.TTF", "Min tekst..."); imagefilter($im, IMG_FILTER_SMOOTH, 0); imagejpeg($im, null, 85); imagedestroy($im); ?> Lenke til kommentar
simenss Skrevet 22. september 2004 Forfatter Del Skrevet 22. september 2004 (endret) Takk for tipsene Grunnen til at jeg lager to bilder er at jeg kun vil bruke imagefilter() på teksten, IKKE på bakgrunnen. Prøv scriptet under så ser du at "Google-logoen" blir også uskarp <?php header("Content-Type: image/jpeg"); $im = imagecreatefromgif("http://www.google.com/intl/no_ALL/images/logo.gif"); $textcolor = imagecolorallocate($im, 0, 0, 0); imagettftext($im, 20, 0, 50, 50, $textcolor, "Arial.TTF", "Min tekst..."); imagefilter($im, IMG_FILTER_SMOOTH, 0); imagejpeg($im, null, 85); imagedestroy($im); ?> EDIT: Bildet blir da slik: Endret 22. september 2004 av simenss Lenke til kommentar
Lokaltog Skrevet 22. september 2004 Del Skrevet 22. september 2004 Ok, da skjønner jeg. Tror ikke bildefunksjonene i PHP var beregnet på å bruke layers. Tror ikke GD har støtte for transparente bilder oppå andre heller, så.. Nei, jeg aner ikke. Søkt på hotscripts? Lenke til kommentar
simenss Skrevet 22. september 2004 Forfatter Del Skrevet 22. september 2004 Finner ingen ting Men må da være mulig å legge til effekter KUN på teksten Lenke til kommentar
Lemkin Skrevet 23. september 2004 Del Skrevet 23. september 2004 Lite forslag (sikkert ikke at det funker), men hva med å lage teksten som ett bilde, med alle effeketene osv, å legge det over det andre? Lenke til kommentar
simenss Skrevet 23. september 2004 Forfatter Del Skrevet 23. september 2004 (endret) Lite forslag (sikkert ikke at det funker), men hva med å lage teksten som ett bilde, med alle effeketene osv, å legge det over det andre? Det er jo det jeg har prøvd på, men hvis jeg opretter et bilde i PHP som KUN inneholder teksten og et med bakgrunnen. Vil da det rundt teksten være gjennomsiktig? Og hvordan får jeg da lagt teksten over bakgrunnen? EDIT: Altså: Tekst med gjennomsiktig bakgrunn -> "Legges over" bakgrunnen -> På det området av tekstbildet som er gjennomsiktig vil bakgrunnen synes Denne koden virker ikke, men bare ment som en ide på hva jeg mener: <?php header("Content-Type: image/jpeg"); $im = imagecreate(300,300); $bgcolor = imagecolorallocate($im,180,160,255); $text = imagecreate(300,300); $textcolor = imagecolorallocate($im, 255, 255, 255); imagettftext($text, 20, 0, 50, 50, $textcolor, "Arial.TTF", "Min tekst..."); imagefilter($text, IMG_FILTER_SMOOTH, 0); imageSetteEtBildeOverEtAnnet($text, $im); // Legger $text over $im imagedestroy($text); imagejpeg($im, null, 100); imagedestroy($im); ?> Endret 23. september 2004 av simenss Lenke til kommentar
Lokaltog Skrevet 23. september 2004 Del Skrevet 23. september 2004 Ser for meg at du kanskje må bruke imagecolorallocatealpha() og createimagetruecolor() for å nærme deg iallefall... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå