[PHP] PNG naar Transparante GIF

Pagina: 1
Acties:
  • 60 views sinds 30-01-2008

  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
Ik heb een klein php scriptje geschreven dat tekst over een png plaatje zet. Werkt leuk, alleen is het plaatje afgerond en ondersteund IE geen transparante png's :X

Via de search vind ik vele funxties om gif naar png om te zetten maar niet omgekeerd.

BMP mag ook (weet alleen niet of die transparant kan) aangezien het maar om een signature gaat van 500x30 pixels ofzo :)

Ik weet dat er in GB een ImageGIF zit maar die word niet ondersteund door mijn php versie en ik kan ook niet zelf mijn php gaan upgraden.

Ik zoek dus een functie die png naar gif omzet zonder gebruik van imagegif. Het moet ook allemaal in php gebeuren dus niet met het tussentijds wegschrijven van een dummy image ofzo.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

    $tekst = "";    
    $stats_file = "stats.txt";
    $tekst = fread(fopen($stats_file, "r"), filesize($stats_file)); 

    header("Content-type: image/png");
    $image = ImageCreateFromPng("image.png");

    $textcolor = ImageColorAllocate($image, 0, 0, 0);
    $font = '2';
    ImageString($image, $font, 97, 3, $tekst, $textcolor);
    ImagePNG($image);
    ImageDestroy($image);
?> 


In feite zoek ik dus een vervanger voor ImageGIF...

EDIT: plaatje
Afbeeldingslocatie: http://www.ispmonitor.be/statsbar/image.php

[ Voor 11% gewijzigd door WhiteDog op 07-01-2004 21:06 ]


Verwijderd

Staat er anders geen ImageMagick op je server?
Die ondersteunt wel Gif nl.

[ Voor 24% gewijzigd door Verwijderd op 07-01-2004 20:19 ]


  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
Verwijderd schreef op 07 januari 2004 @ 20:18:
Staat er anders geen ImageMagick op je server?
Die ondersteunt wel Gif nl.
Ik vermoed van niet. Maar het is alleszins de bedoeling om het scriptje daarna verder te verspreiden dus het moet zo compatible mogelijk zijn...

Daarom dacht ik aan een module die bit per bit ofzo png naar gif omzet die ik er dan gewoon bijstop :)

Het is men eerste php scriptje... be gentle. (was ik maar bij perl gebleven :|)

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

WhiteDog schreef op 07 januari 2004 @ 20:23:
[...]


Ik vermoed van niet. Maar het is alleszins de bedoeling om het scriptje daarna verder te verspreiden dus hetm oet zo compatible mogelijk zijn...

Daarom dacht ik aan een module die bit per bit ofzo png naar gif omzet die ik er dan gewoon bijstop :)
in plaats van imagepng moet je imagegif gebruiken aan het eind?
zo moeilijk is dat toch niet? en als het niet werkt is er dus gewoon geen gif support op de server aanwezig ;)
Note: Since all GIF support was removed from the GD library in version 1.6, this function is not available if you are using that version of the GD library. Support is expected to return in a version subsequent to the rerelease of GIF support in the GD library in mid 2004. For more information, see the GD Project site.

[ Voor 23% gewijzigd door Erkens op 07-01-2004 20:28 ]


  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
Erkens schreef op 07 januari 2004 @ 20:27:
[...]

in plaats van [http://php.net/imagepng]imagepng
moet je imagegif gebruiken aan het eind?
zo moeilijk is dat toch niet? en als het niet werkt is er dus gewoon geen gif support op de server aanwezig ;)[/quote]

euh ja... dat is nou het hele probleem :D Voor alles is een workaround toch :X

EDIT:
vraag me af wat mensen die transparante plaatjes nodig hebben doen als je op geen enkele manier nog een transparant plaatje kan maken (zichtbaar in IE) met PHP :?

[ Voor 17% gewijzigd door WhiteDog op 07-01-2004 20:30 ]


  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 14:12
HO HO HO, dat is al verleden tijd, dat IE geen transparante PNG's ondersteund

Hier en hier staan beschreven hoe je IE zo gek krijgt om hem wel transparant over te laten komen en dit is een voorbeeldje.

Aan jouw de keuze of je nog door wilt gaan met transformeren naar gif :)
offtopic:
Tuurlijk lukt het MicroSoft nog steeds niet om een beetje normale browser te bouwen die stabiel is, zich niet laat besmetten met een virus die door middel van een *.jpg "plaatje" binnen kan komen en genoeg support heeft op alle bestaande media die in de wereld rond gaat ipv hun eigen bijna allemaal geflopte media ...

[ Voor 28% gewijzigd door LinuX-TUX op 07-01-2004 20:40 . Reden: Toevoeging ]


  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
LinuX-TUX schreef op 07 januari 2004 @ 20:33:
HO HO HO, dat is al verleden tijd, dat IE geen transparante PNG's ondersteund

Hier en hier staan beschreven hoe je IE zo gek krijgt om hem wel transparant over te laten komen en dit is een voorbeeldje.

Aan jouw de keuze of je nog door wilt gaan met transformeren naar gif :)
Helaas... het is een signature (zie openingspost) dus het moet ook op andere sites werken...

Verwijderd

Je kunt eens testen of de ImageMagick command line tools voor handen zijn.

Probeer in je php script dit (en zorg ervoor dat je een png hebt staan natuurlijk ;)):

PHP:
1
2
3
<?php
system('convert origineel.png nieuw.gif');
?>

Als je nu idd een nieuw.gif hebt staan, kun je ImageMagick gebruiken.

Met convert kun je ook een transparant kleur meegeven, zie voor meer info http://www.simplesystems.org/ImageMagick/www/convert.html

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

WhiteDog schreef op 07 januari 2004 @ 20:38:
[...]


Helaas... het is een signature (zie openingspost) dus het moet ook op andere sites werken...
maar hoeveel boeit het dat die paar mensen zonder een browser die 3 pixels die transparant zijn niet kunnen zien, kan je niet een kleur gebruiken die veel lijkt op de kleur van de site, pech voor de Internet Explorer gebruikers, moeten ze maar iets beters installeren vind ik dan, stilstand is achteruitgang ;)

  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
Verwijderd schreef op 07 januari 2004 @ 20:45:
Je kunt eens testen of de ImageMagick command line tools voor handen zijn.

Probeer in je php script dit (en zorg ervoor dat je een png hebt staan natuurlijk ;)):

PHP:
1
2
3
<?php
system('convert origineel.png nieuw.gif');
?>
dat werkt niet dus denk ik...

Heb de lijn er ergens tussen gegooid maar vind geen gif file in men dir :) Kreeg wel geen error ofzow...

[ Voor 7% gewijzigd door WhiteDog op 07-01-2004 20:50 ]


  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
Erkens schreef op 07 januari 2004 @ 20:48:
[...]

maar hoeveel boeit het dat die paar mensen zonder een browser die 3 pixels die transparant zijn niet kunnen zien, kan je niet een kleur gebruiken die veel lijkt op de kleur van de site, pech voor de Internet Explorer gebruikers, moeten ze maar iets beters installeren vind ik dan, stilstand is achteruitgang ;)
ja wat boeit het nou als er 3 dode pixels op je nieuwe tft-scherm zitten... :Y)

En wat als ik nu een half transparant plaatje zou willen maken?... zijn meer dan 3 pixels dan hoor.

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 14:12
Ik kon niet ruiken dat je dat als signature op andere sites wilde gaan gebruiken, dacht alleen voor de site zelf, maargoed.

En eenmalig veranderen is geen optie?

Zo dus:
Afbeeldingslocatie: http://www.aware.demon.nl/image.gif

offtopic:
PHEW, een paar randpixeltjes minder :D
Tja, dat de scherpte en helderheid van dat balkje erop achteruit gaat, ik doe dit om te helpen, maar heb ook nog huiswerk op me wachten. (standaard websafe opgeslagen)

[ Voor 26% gewijzigd door LinuX-TUX op 07-01-2004 20:58 . Reden: Typo in URL ]


  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
LinuX-TUX schreef op 07 januari 2004 @ 20:53:
Ik kon niet ruiken dat je dat als signature op andere sites wilde gaan gebruiken, dacht alleen voor de site zelf, maargoed.

En eenmalig veranderen is geen optie?

Zo dus:
[]afbeelding]

offtopic:
PHEW, een paar randpixeltjes minder :D
uh... het word elk uur aangepast? :P

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

WhiteDog schreef op 07 januari 2004 @ 20:52:
[...]


ja wat boeit het nou als er 3 dode pixels op je nieuwe tft-scherm zitten... :Y)
niet relevant en een totaal verkeerde vergelijking ;)
En wat als ik nu een half transparant plaatje zou willen maken?... zijn meer dan 3 pixels dan hoor.
dan nog telt het tweede gedeelte van mijn post :Y)
en anders moet je of wachten tot de GD libs weer GIF (default) ondersteunen (of gif-support installeren) of prutsen met een ander tooltje gebruiken zoals ook al reeds gemeld was.

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
LinuX-TUX schreef op 07 januari 2004 @ 20:33:
HO HO HO, dat is al verleden tijd, dat IE geen transparante PNG's ondersteund
[...]
offtopic:
Ondersteunen? Jah, als de webmaster een truuk uitvoer geeft ie ze goed weer, MS zelf heeft IE nog steeds niet aangepast. Wat ik zelf zeer irritand vind.
En dan nog een kleine typo in de TS; er staat '...ondersteund IE geen transparante gifs :X'. Ik neem aan dat gifs, pngs zou moeten worden.


Is het niet mogelijk om die CSS inline op te nemen bij de signature? Aan de andere kant is dit mss lastig omdat je alleen een plaatje wilt en niet een andere site vol wil SPAMmen met extra HTML enz.

[ Voor 12% gewijzigd door Mac_Cain13 op 07-01-2004 21:04 ]


  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 14:12
WhiteDog schreef op 07 januari 2004 @ 20:56:
[...]


uh... het word elk uur aangepast? :P
:( Ik bedoel, dat je de PNG veranderd naar GIF éénmalig en daarna telkens op die GIF tekst schrijft ipv PNG openen -> tekst erop leggen -> exporteren naar GIF.

Dat om het uur aanpassen had ik niet verwacht :) dacht dat het op elke aanvraag realtime werd aangemaakt

/me is niet BLOND ... of zo blond dat hij het zelf niet door heeft :D

  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
LinuX-TUX schreef op 07 januari 2004 @ 21:07:
[...]


:( Ik bedoel, dat je de PNG veranderd naar GIF éénmalig en daarna telkens op die GIF tekst schrijft ipv PNG openen -> tekst erop leggen -> exporteren naar GIF.

Dat om het uur aanpassen had ik niet verwacht :) dacht dat het op elke aanvraag realtime werd aangemaakt

/me is niet BLOND ... of zo blond dat hij het zelf niet door heeft :D
Het plaatje word inderdaad "real-time" gecreëerd bij elke aanroep :) Het probleem is dat je om tekst op een gif te leggen (of hem al te openen) ook funccties nodig hebt die ik niet heb in de php op mijn server :/

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

WhiteDog schreef op 07 januari 2004 @ 21:15:
Het plaatje word inderdaad "real-time" gecreëerd bij elke aanroep :)
offtopic:
klein tipje, cache dat plaatje iedere 5min ofzo, scheelt enorm op de load van je server, zeker als je het gebruikt op een druk bezocht forum waar je actief bezig bent ;)
Het probleem is dat je om tekst op een gif te leggen (of hem al te openen) ook funccties nodig hebt die ik niet heb in de php op mijn server :/
dan installeer je dat toch :?

  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
Ik denk dat ik het plaatje maar gewoon in VB ga creëren en dan uploaden... lijkt me nog het makkelijkst. Zo blijft het plaatje ook gecached....

  • WhiteDog
  • Registratie: Juni 2001
  • Laatst online: 31-01 21:14

WhiteDog

met zwarte hond

Topicstarter
Probleem opgelost :P

vierkante randjes rulen!

en GIF en IE sucken big time! :D

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 13:14

Koffie

Koffiebierbrouwer

Braaimeneer

Mja, volgende keer dan ook ff in het juiste forum posten.

Tijd voor een nieuwe sig..

Pagina: 1

Dit topic is gesloten.