Hallo, für diese 128x64 Pixel LCDs gibts ja Programme, die eine Bitmap Grafik in ein *.C File wandeln, so dass man direkt die Gafik auf das Display kopieren kann. Ich such sowas für ein 320x240Pixel TFT. In Farbe. Eine Bitmap/PNG Grafik soll in das R5G6B5 Format gewandelt werden, damit ich die Datei mit kompilieren kann und einen Startbildschirm habe. Gibts doch bestimmt schon!? Ich finde leider nichts.
So. Habs doch recht schnell hinbekommen. in HTML5
1 | <!DOCTYPE html> |
2 | <html> |
3 | <body> |
4 | <script> |
5 | function createArray(length) { |
6 | var arr = new Array(length || 0), |
7 | i = length; |
8 | |
9 | if (arguments.length > 1) { |
10 | var args = Array.prototype.slice.call(arguments, 1); |
11 | while(i--) arr[length-1 - i] = createArray.apply(this, args); |
12 | }
|
13 | |
14 | return arr; |
15 | }
|
16 | function doit() { |
17 | var pixels = createArray(120,320, 3); |
18 | var x,y,xx,yy; |
19 | var r=0,g=0,b=0; |
20 | var s = ""; |
21 | |
22 | var index; |
23 | var r5g6b5 = 0; |
24 | var ctx=document.getElementById("myCanvas").getContext("2d"); |
25 | |
26 | imageData = ctx.getImageData(0, 0, 320, 240); |
27 | |
28 | for (y=0; y<240; y++) { |
29 | for (x=0; x<320; x++) { |
30 | index = (x + y * 320) * 4; |
31 | r = parseInt(imageData.data[index+0] / 8); |
32 | g = parseInt(imageData.data[index+1] / 4); |
33 | b = parseInt(imageData.data[index+2] / 8); |
34 | r5g6b5 = r*32*64 +g*32 + b; |
35 | s += "0x"+ r5g6b5.toString(16) +","; |
36 | }
|
37 | }
|
38 | window.document.getElementById("texta").value = s; |
39 | |
40 | }
|
41 | </script> |
42 | |
43 | <img id = "myimg" src="img.png" > |
44 | <canvas id="myCanvas" width="320" height="240" style="border:none;"> |
45 | Your browser does not support the HTML5 canvas tag. |
46 | </canvas> |
47 | <br /> |
48 | <textarea id="texta" style=" width: 100%; height:300px;"></textarea> |
49 | <br /> |
50 | <button onclick ="doit();">Convert</button> |
51 | <script> |
52 | var ctx=document.getElementById("myCanvas").getContext("2d"); |
53 | var img=document.getElementById("myimg"); |
54 | ctx.drawImage(img,0,0,320,240); |
55 | window.document.getElementById("texta").value = ""; |
56 | </script> |
57 | |
58 | </body> |
59 | </html> |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.