login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Base64 image (Opgelost)

Offline gerits - 01/09/2008 19:42
Avatar van geritsLid Ik probeer uit een bestand een afbeelding uit te lezen met base64, dit werkt goed in firefox, maar in IE krijg ik geen afbeelding te zien..

een voorbeeld wat ik nu gebruik:

  1. <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEAAQABA..." alt="Embedded Image" width="500" height="491" />


natuurlijk is de code veel langer, maar zou veel te veel plaats in nemen als ik die puntjes niet zou zetten..

Hoe kan ik er voor zorgen dat dit werkt in IE?

heb iets gezien van VML of zoiets, maar nergens een uitleg van wat ik moet doen..

13 antwoorden

Gesponsorde links
Offline Ontani - 01/09/2008 19:45
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Het gemakkelijkste is met javascript die base64 te encoden in een image object en die te koppelen aan uw img tag.
Offline gerits - 01/09/2008 20:34 (laatste wijziging 01/09/2008 20:54)
Avatar van gerits Lid Heb je hier ook ergens een voorbeeld van?

Als ik zoek naar javascript base64 encoding, dan krijg ik vanalles om het te encode en decode, maar niet hoe ik een afbeelding kan omzetten..

edit:
ik heb het werkende op basis van volgende code: http://dean.edwards.name/weblog/2005/06/base64-ie/

nu heb ik alleen nog een probleem, de code lijkt te werken op kleine afbeeldingen, maar als ik een grote afbeelding gebruik geeft hij deze niet weer..
Offline Ontani - 02/09/2008 07:42
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
als je toch php ondersteuning hebt waarom dan niet gewoon dit doen:
  1. $base64_van_afbeeldingen['first'] = '/9j/4AAQSkZJRgABAgEAAQABA...';
  2. if (isset($_GET['image'])) {
  3. header('Content-type: image/jpeg');
  4. base64_decode($base_64_van_afbeeldingen[$_GET['image']]);
  5. }


en in je html:
  1. <img src="phpcode.php?image=first" alt="" />
Offline Ultimatum - 02/09/2008 09:03
Avatar van Ultimatum PHP expert Ik moest hier op stage vorige week ook mee werken, ik heb ergens een script gevonden waar je een plaatje kon uploaden en dan zette hij die om naar een base64 string. Dus probeer eens je grote afbeeldingen om te zetten via base64_encode en dan laten zien zoals Ontani hierboven laat zien.

De link naar het script is http://www.phpclasses.org/browse/package/2465.html. Je moet wel een account hebben om te downloaden. Bij mij werkt het in iedergeval perfect .
Offline gerits - 02/09/2008 12:12
Avatar van gerits Lid Ik heb deze code geprobeerd, maar deze werkt niet, nu krijg ik nog geen afbeelding..
Offline Ultimatum - 02/09/2008 12:13
Avatar van Ultimatum PHP expert Dan doe je toch iets verkeerd, zoals ik al zei werkt het bij mij prima.
Offline gerits - 02/09/2008 12:39
Avatar van gerits Lid Maar voor omzetten naar base64 gebruik op het moment http://www.greywyvern.com/code/php/binary2base64
Voor het omzetten heb ik een andere oplossing, maar voorlopig is het belangrijkste dat ik de afbeeldingen weergegeven krijg..
Offline Ontani - 02/09/2008 13:03
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Headers verkeerd ingesteld ofzo?
Offline gerits - 02/09/2008 13:05 (laatste wijziging 02/09/2008 13:08)
Avatar van gerits Lid Ik heb gebruik gemaakt van jou code, aangezien daar een jpeg header in staat heb ik er op gelet dat ik gebruik heb gemaakt van een jpeg afbeelding..

edit:
hoewel mijn header daar geplaatst hoort te zijn, als ik op de eigenschappen van de afbeelding klik staat er bij type onbekend..
Offline Ontani - 02/09/2008 13:22
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
misschien dat het aan de hoofdlettergevoeligheid ligt:
  1. header('Content-type: image/jpeg');


  1. header('Content-Type: image/jpeg');
Offline gerits - 02/09/2008 13:25 (laatste wijziging 02/09/2008 14:13)
Avatar van gerits Lid dat geeft hetzelfde resultaat.. 

edit: Is er een ander soort compressie manier van afbeelding die wel in alle browsers werkt? Ik moet een afbeelding in een tekstbestand kunnen zetten..
Offline Ontani - 02/09/2008 14:58
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Schrijf een eigen functie, lees een afbeelding pixel per pixel in en sla deze data als argb() waardes op in een bestand. Absurd, maar het werkt wel.
Offline gerits - 02/09/2008 15:37
Avatar van gerits Lid met de methode van ultimatum werkt het wel, bedankt voor de hulp 

het eindresultaat komt normaal in de showcase te staan over een paar dagen/weken
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.879s