Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 06:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[JS/Flash] HTML in Grafik konvertieren

Discussion on [JS/Flash] HTML in Grafik konvertieren within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
.Acu³'s Avatar
 
elite*gold: 166
Join Date: Mar 2011
Posts: 207
Received Thanks: 25
[JS/Flash] HTML in Grafik konvertieren

Hallo liebe Web Devs,

ich suche eine Möglichkeit einen generierten HTML Code (Text auf Bildern platziert) in eine Grafikdatei umzuwandeln.

Das ganze funktioniert NICHT per GD-Lib in PHP (also imagettftext etc.),
da die Positionierung per PHP nicht zufriedenstellend funktioniert. Imagettftext kommt zwar zum Einsatz jedoch nicht flächendeckend.


Daher suche ich eine Lösung via JS oder gar Flash. JS bin ich leider nicht so der Profi, zumindest was Bildbearbeitung/Bildkomprimierung angeht.

Ich hoffe jemand hat eine Lösung, meine restlichen e*gold wären demjenigen sicher.

Liebe Grüße
Acu³

Edit: Achja, es gibt natürlich diverse Möglichkeiten per Command Line. Diese Möglichkeit steht hier jedoch nicht zur Verfügung.
.Acu³ is offline  
Old 04/07/2013, 14:32   #2
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,407
Received Thanks: 2,024
Auf die schnelle würde mir nur einfallen mittels canvas das ganze als Bild zeichnen zu lassen.
NotEnoughForYou is offline  
Thanks
1 User
Old 04/07/2013, 20:21   #3
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by NotEnoughForYou View Post
Auf die schnelle würde mir nur einfallen mittels canvas das ganze als Bild zeichnen zu lassen.
Jup. Meine Empfehlung um HTML in ein Bild zu verwandeln, wäre mittels den HTML-Code in einem Canvas-Element darzustellen und anschließend mittels toDataURL() in ein Bild umzuwandeln.
PseudoPsycho is offline  
Thanks
1 User
Old 04/11/2013, 17:48   #4
 
.Acu³'s Avatar
 
elite*gold: 166
Join Date: Mar 2011
Posts: 207
Received Thanks: 25
Danke, die Methode kannte ich noch nicht.

Wenn ich nun also diesen Code habe:
Code:
html2canvas(document.body, {
onrendered: function(canvas) {
document.body.appendChild(canvas);
	     },
letterRendering: true,
height: 720
});
Gibt er mir direkt das Bild aus. Wie kann ich die Datei jetzt abspeichern?
.Acu³ is offline  
Old 04/11/2013, 18:09   #5

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Quote:
Originally Posted by .Acu³ View Post
Danke, die Methode kannte ich noch nicht.

Wenn ich nun also diesen Code habe:
Code:
html2canvas(document.body, {
onrendered: function(canvas) {
document.body.appendChild(canvas);
	     },
letterRendering: true,
height: 720
});
Gibt er mir direkt das Bild aus. Wie kann ich die Datei jetzt abspeichern?
Indem du das Bild an ein PHP Script postet welches es dann speichert. (Wenn du es am Server speichern willst?)

Aber mich würde eher interessieren warum es mit PHP nicht funktionieren sollte? Da liegt denke ich mal eher ein Fehler deinerseits vor.
boxxiebabee is offline  
Old 04/11/2013, 20:58   #6
 
.Acu³'s Avatar
 
elite*gold: 166
Join Date: Mar 2011
Posts: 207
Received Thanks: 25
Okay. Das ist nun mein Code:
Code:
<script type=text/javascript>

html2canvas(document.body, {

onrendered: function(canvas) {
document.body.appendChild(canvas);
    var imageInfo = canvas.toDataURL()
    var loc_url = 'save.php?name='+ imageInfo;
    window.location = loc_url;
},
letterRendering: true,
height: 720,
width: 480,
timeout: 1000000,
 } );

 
 </script>
der logischerweise dazu führt:

Code:
Request-URI Too Large

The requested URL's length exceeds the capacity limit for this server.

also via POST und nicht GET.. naja bekomm ich hin. Danke euch.
.Acu³ is offline  
Old 04/12/2013, 18:09   #7
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by .Acu³ View Post
also via POST und nicht GET.. naja bekomm ich hin. Danke euch.
Ja, so 'ne data-URL ist für gewöhnlich recht lang. Hinzu kommt, dass du sie auf dem Server wieder dekodieren musst.
Die vermutlich einfachere Variante wäre, das Bild als Blob zu versenden.
Firefox unterstützt die Methode mozGetAsFile(), Webkit nicht.
Daher folgende Lösung (gefunden auf und auf den neuesten Stand gebracht):
HTML Code:
function dataURItoBlob(dataURI) {
    var byteString = atob(dataURI.split(',')[1]);
    var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
    var ab = new ArrayBuffer(byteString.length);
    var ia = new Uint8Array(ab);
    for (var i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
    }
    var blob = new Blob([ab], {type:mimeString});
    return blob;
}
Diese Blob-Datei kannst du dann einem FormData-Element zuweisen und dieses per Ajax verschicken.
HTML Code:
var blob=dataURItoBlob(canvas.toDataURL('image/jpeg'));
var data=new FormData();
data.append('screenshot', blob, 'screenshot.jpg');
Solltest du es mit nativem XMLHttpRequest versenden, kannst du dies wie gewöhnliche POST-Daten senden. jQuery benötigt ein paar zusätzliche Einstellungen, um FormData-Objekte zu versenden:
HTML Code:
$.ajax('save.php', {data:data,type:'POST',processData:false,contentType:false})
Auf den Blob kannst du dann mit der gewöhnlichen Superglobalen $_FILES zugreifen (genau wie bei jedem anderen File-Upload).
PHP Code:
$screenshot=$_FILES['screenshot']; 
PseudoPsycho is offline  
Reply


Similar Threads Similar Threads
[Buying] Suche Programmierer gegen bezahlung ( php / html / flash )
03/24/2013 - Coders Trading - 2 Replies
Hallo, ich suche zurzeit einen Programmierer der mir ein kleines ( nicht aufwendiges ) 2D browsergame erstellt , natürlich gegen bezahlung. Wer interesse hat soll mich in Skype adden : Riko3339 Solltet ihr interesse haben ins Projekt einzusteigen wäre ich nicht abgeneigt. Das Spiel soll später kommerziell werden da es mein Konzept so auf dem Markt noch nicht gibt.
Suche Programmierer gegen bezahlung ( php / html / flash )
03/22/2013 - General Coding - 1 Replies
Hallo, ich suche zurzeit einen Programmierer der mir ein kleines ( nicht aufwendiges ) 2D browsergame erstellt , natürlich gegen bezahlung. Wer interesse hat soll mich in Skype adden : Riko3339 Solltet ihr interesse haben ins Projekt einzusteigen wäre ich nicht abgeneigt. Das Spiel soll später kommerziell werden da es mein Konzept so auf dem Markt noch nicht gibt.
Flash/Actionscript 3 in HTML einbinden
10/26/2012 - Web Development - 5 Replies
Ich habe mir in google schon viel angesehen, aber verstehe es immernoch nicht so ganz. Ich will ein Actionscript in einer Html ( HTML 4.01 ) Seite einbinden, jedoch weiß ich nicht wie man das macht, kann es einer von euch und wäre bereit es mir zu zeigen? Vielen Dank im Vorraus.
Flash/Html Frage
07/11/2012 - Main - 1 Replies
Erstmal: Ka wo das hinkommt (hab nicht die richtige Section gefunden aber naja): Also hab nen Prob... Ich will den Titel entfernen in der Mitte über dem Flashzeugs.. Wie geht das? ;oo http://s7.directupload.net/images/120711/jjffpf29 .png Danke schonmal^^
[HTML] Random Button Flash
11/29/2010 - Web Development - 0 Replies
Hab nen kleines Problem: Hab auf meiner Seite ein Flashobject, welches Automatisch startet wenn man drauf geht. Nun möchte ich, das mit dem klick auf einen Button das Flash object zufällig ein flash von 3 oder mehr abspielt, nur ich bekomms irgendwie nicht hin. Wenn einer helfen kann, dann bitte so, dass ich es in NOF leicht machen kann. (: Mfg. Tro



All times are GMT +2. The time now is 06:35.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.