login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem GD icm png (transparant)

Offline tim2005 - 17/02/2008 20:16 (laatste wijziging 17/02/2008 20:19)
Avatar van tim2005Nieuw lid Beste mede leden 

Ik heb een probleempje met PHP en dan wel met het weergeven van een transparante PNG met behulp van natuurlijk GD

Voor:
http://img168.imageshack.us/img168/716/voorso6.png
Na:
http://img249.imageshack.us/img249/2218/nawy9.png

Ik had eerst een complexe code, maar ik heb daar maar ff een simpelere code van gemaakt zodat ik het kon testen:

  1. <?php
  2. header("Content-type: image/png");
  3. $achtergrond = "img/menu_leeg/button 6.png";
  4. $im = imagecreatefrompng($achtergrond);
  5. //$color = ImageColorAllocate($im, 0, 0, 0);
  6. //ImageColorTransparent($im, $color);
  7. imagepng($im);
  8. imagedestroy($im);
  9. ?>


Zoals je kan zien heb ik ook de transparante kleur al eens op zwart ingesteld, maar dan blijven er 2 witte lijnen over (1 links, 1 rechts) en ook is de schaduw van de knop dan verdwenen.

Wat doe ik hier fout? 

Gr, Tim

11 antwoorden

Gesponsorde links
Offline CDNC - 17/02/2008 20:39
Avatar van CDNC PHP ver gevorderde Heb je het al eens geprobeert als GIFje? Ik durf niet met zekerheid zeggen dat transparante PNG gaat.

In je code zie ik toch nix fout.
Offline marten - 17/02/2008 20:42
Avatar van marten Beheerder Is je server wel goed geconfigureerd?
Controleer de volgende punten eens:

* GD library groter dan 1.6 is nodig voor PNG support
* Is PNG support wel geinstalleerd? (Ook zlib is hiervoor nodig)
Offline tim2005 - 17/02/2008 20:47
Avatar van tim2005 Nieuw lid Bedankt zal hier morgen ochtend even naar kijken

MVG,
Tim
Offline JBke - 17/02/2008 21:03 (laatste wijziging 17/02/2008 21:04)
Avatar van JBke PHP gevorderde zet dit stukje code in een bestand gdinfo.php en roep dat bestand aan in je browser resultaat zal ongeveer als volgd zijn:

GD Version: bundled (2.0.34 compatible)
FreeType Support: Enabled
FreeType Linkage: with freetype
T1Lib Support: Disabled
GIF Read Support: Enabled
GIF Create Support: Enabled
JPG Support: Enabled
PNG Support: Enabled
WBMP Support: Enabled
XPM Support: Disabled
XBM Support: Enabled
JIS-mapped Japanese Font Support: Disabled

2.0.34
TrueColor functies mogen gebruikt worden.

  1. <?
  2. $array=gd_info ();
  3. foreach ($array as $key=>$val) {
  4.  
  5. if ($val===true) {
  6. $val="Enabled";
  7. }
  8.  
  9. if ($val===false) {
  10. $val="Disabled";
  11. }
  12.  
  13. echo "$key: $val <br />\n";
  14.  
  15. }
  16. $version = ereg_replace('[[:alpha:][:space:]()]+', '', $array['GD Version']);
  17. echo "<br />" . $version . "<br />";
  18.  
  19. /**
  20. * Nagaan welke versie van GD er geïnstalleerd staat op een server, indien geïnstalleerd.
  21. *
  22. * Geeft de Versie (1 of 2) terug van de GD extensie.
  23. */
  24. function gdVersie($user_ver = 0)
  25. {
  26. if (! extension_loaded('gd')) { return; }
  27. static $gd_ver = 0;
  28. // Gewoon de gespecifiëerde instellingen gebruiken indien 1.
  29. if ($user_ver == 1) { $gd_ver = 1; return 1; }
  30. // Gebruik de statische variabele indien de functie eerder gebruikt werd.
  31. if ($user_ver !=2 && $gd_ver > 0 ) { return $gd_ver; }
  32. // Gebruik de gd_info() functie indien mogelijk.
  33. if (function_exists('gd_info')) {
  34. $ver_info = gd_info();
  35. preg_match('/\d/', $ver_info['GD Version'], $match);
  36. $gd_ver = $match[0];
  37. return $match[0];
  38. }
  39. // Als phpinfo() uitgeschakeld...
  40. if (preg_match('/phpinfo/', ini_get('disable_functions'))) {
  41. if ($user_ver == 2) {
  42. $gd_ver = 2;
  43. return 2;
  44. } else {
  45. $gd_ver = 1;
  46. return 1;
  47. }
  48. }
  49. // ...anders phpinfo() gebruiken.
  50. phpinfo(8);
  51. $info = ob_get_contents();
  52. $info = stristr($info, 'gd version');
  53. preg_match('/\d/', $info, $match);
  54. $gd_ver = $match[0];
  55. return $match[0];
  56. } // Einde gdVersion()
  57.  
  58. // Gebruik:
  59. if ($gdv = gdVersie()) {
  60. if ($gdv >=2) {
  61. echo 'TrueColor functies mogen gebruikt worden.';
  62. } else {
  63. echo 'GD versie is 1. Vermijd het gebruik van de TrueColor functies.';
  64. }
  65. } else {
  66. echo "De GD extensie is niet geladen.";
  67. }
  68. ?>


je code ziet er correct uit dus zal eerder aan je server instellingen liggen.
Offline tim2005 - 18/02/2008 08:30 (laatste wijziging 18/02/2008 08:37)
Avatar van tim2005 Nieuw lid Ok bedankt voor je script, hier het resultaat:
Citaat:
GD Version: bundled (2.0.34 compatible)
FreeType Support: Enabled
FreeType Linkage: with freetype
T1Lib Support: Enabled
GIF Read Support: Enabled
GIF Create Support: Enabled
JPG Support: Enabled
PNG Support: Enabled
WBMP Support: Enabled
XPM Support: Disabled
XBM Support: Enabled
JIS-mapped Japanese Font Support: Disabled

2.0.34
TrueColor functies mogen gebruikt worden.


En eventueel ook nog phpinfo even geupload:
http://dev.radioecho.nl/temp/phpinfo.htm

Mischien wel even handig om te vermelden dat ik gebruik maak van USBwebserver 7.0.0

Gr, Tim

EDIT 1:
http://dev.radioecho.nl/temp/knop2.html
Ik heb het ook even getest op een andere server (Knothhosting)
en ook daar komt het zelfde probleem aan het licht...
Offline JBke - 18/02/2008 16:02
Avatar van JBke PHP gevorderde ik kan je script wel eens testen en aanpassingen proberen toe te voegen die wel het resultaat geven.

Ik wil je best helpen stuur anders pm's naar me met code en uitleg ik zal het nodige proberen.
Offline tim2005 - 19/02/2008 16:21
Avatar van tim2005 Nieuw lid Beste JBKE,

Het script staat hierboven al gepost, als het met dat script werkt, dan zal het waarschijnlijk verder ook wel lukken.

Maar kan het ook zijn dat de de PNG niet helemaal ok is en dat Photoshop mischien iets niet helemaal correct opslaat? Heb daar eerder problemen mee gehad omdat de PSD dan op grijstintent was ingesteld bedenk ik me? Zou zoiets het ook kunnen zijn?

Gr, Tim
Offline Diko - 19/02/2008 17:32
Avatar van Diko PHP interesse PHP.net: http:/...parent.php
Die functie al ontdekt?
Heb me er zelf nog niet in verdiept, maar denk dat je er wel wat mee kunt.
Offline tim2005 - 19/02/2008 18:26
Avatar van tim2005 Nieuw lid Beste Diko,

Bovenaan mijn script is het al te zien dat ik ImageColorTransparent als commentaar regels heb ;) Ik had hem dus al wel gevonden.

Het probleem daar in tegen bestaat helaas nog wel 
Offline Diko - 19/02/2008 21:44 (laatste wijziging 19/02/2008 21:45)
Avatar van Diko PHP interesse Dus k had weer veel te snel door et topic heen gebladerd

Die color parameter is optioneel. Heb je hem al geprobeerd zonder die 2e parameter mee te geven?

Offline tim2005 - 21/02/2008 14:02 (laatste wijziging 27/02/2008 17:46)
Avatar van tim2005 Nieuw lid Ik heb het even geprobeerd en...
Helaas geen transparantie, de achtergrond word dan gewoon zwart met weer die witte balk aan de zijkanten.

Vind het wel raar, mischien iets mis met de png zelf?

Gr, Tim

EDIT1: Heeft er echt niemand een idee jammer
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.213s