Bitmap nach TFT Converter

Gast #3672407
Lesenswert?

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.
Gast #3672421
Lesenswert?

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>

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren