Bonsoir
Temps-x a écrit :.... pour convertir tes images en R5G6B5 (65k couleur)
ou R6G6R6 (262K couleur)
as -tu un exemple d'image en R6G6R6 (262K couleur) ?
-----------------------------------------------------------------------------------------------
quelques notes à ce sujet :
https://thesolaruniverse.wordpress.com/ ... 2-wroom-32-------------------------
Coccinella magnifica
https://commons.wikimedia.org/w/index.php?curid=7694675image originale 2521*1688
-----------------------------
In the photo editor program
step 1: scale and crop until a 240*240 pixel image remains, 72 dpi.
step 2: export as .BMP with 16-bit color depth (“True Color” in Windows). PNG
is supported in the chain as well.
Resulting after all the photo editing was a 173 kB BMP image file (‘ladybug.bmp’)
with dimensions 240*240 and in True Color = R5G6B5, 16-bit color depth (64k colors).
"ladybug.bmp" , dimensions 240*240 en True Color = R5G6B5 ,
16-bit color depth (64k colors). 173 kB
Image convertie en une table compatible avec le format C ,
via l'appli
lcd-image-converter Options de Conversion : taille 16bits .
et ordre des octets dans le Mot : mode ‘Little Endian’
couleurs definies en Word (RGB565)
un fichier nommé "ladybug.c" est crée, en ascii , donc editable avec Notepad++
un pixel est codé par un mot de 16 bits
on a 240x240=56700 pixels x2 => 115200 bytes
Cette image , testée OK avec ESP32
voir ESP32WROOM32_240x240_ST7789_ladybug_external.ino
Du fait que MikroC ne peut pas gerer des Block de FLash > 64Ko,
La Table des datas a été scindée en 2 parties.
donc chaque partie est < 64Ko, la somme des 2 = 56700x2=115200 bytes
Avec le programme initial et le code existant pour gérer les Tests Grafiques : point , ligne ,rectangle ,cercle ..
Il ne reste pas assez de place en flash pour y inserer les 8 fontes de caractereset aussi , obligé de limité la 2em partie en rognant les 8 dernieres lignes de pixel
=> partie 1 ....LadyBug1 [] = 0 à 28800 mots => lignes 0 à 119
=> partie 2 ... LadyBug2 [] = 0 à 26880 mots => lignes 220 à 231
-----------------------------------------------------------------------
Autre test
Probleme : transformer une image en BMP 16bits RGB565 ?
PaintShopPro 5 , ou XNView ne le fait pas, connais <16 bits ou > 16 bits
..mais pas 16 bits
Heuresement il y a cet outil :
dispo ICI ...
http://www.pixfonter.net/bitmap-convert ... brary.htmlLCD Bitmap Converter for Microchip Library v2.0BMC4MLA_Setup.exe
Fichier original Airspeed.jpg, crée via Raytracing Moray + Povray (c) PF
Mis à l'echelle 240x240 , puis sauvegardé en BMP classique , via PSP5
Chargement du BMP sur LCD converter
choix du format de convertion : RGB 16 bits 565
Name airspeed_240x240.bmp
Size 172854 byte(s) (240x240px)
Type image/bmp
16bits (2byte/pixel) R5G6B5 RRRRRGGGGGBBBBB
Litle_endian
Convert => Generation d'un fichier compatible Microchip C
les datas sont organisé en lignes de 16 bytes
les couleurs sont representées par 2 bytes et non 1 mot de 16 bits.
1 ligne de data = 8 pixels
il ya 7200 lignes ! soit 7200x8 = 57600 pixels .....( =240x240)
Rappel:
1 ligne de pixel = 240x2=480 bytes
240 lignes = 480*240=> 115200 bytes
Problemos :
ajustements manuels du fichier ...
Diviser le fichier en 2 parties < 64K chacune
Attention : il faut inverser aussi le sens de lecture des datas MSB et LSB !
pour respecter les couleurs !
à croire que le choix (préconisé) Litle_Endian n'est pas le bon !
la premiere partie des datas affiche la partie basse de l'image !
Attention : direction bas-> haut!!
Attention : SetOrientation(2) Portrait\r\n"); ou Paysage (orientation=1) suivant l'image ...
#include "airspeed_565.h"Au besoin , il faudra eventuellement supprimer quelques lignes d'affichage,
pour recuperer de la place dans la Flash pour la partie programme ..
Modif du programme MikroC pour pouvoir visualiser entierement le * .BMP
Compilation de l'application MikroC conditionnelle avec
#define With_BMP
permettant d'inhiber une grosse partie de code ..et laisser donc de la place pour l'image de 115200 bytes .
#include "airspeed_565.h"
Test Affichage Airspeed ... OK
avec des images en FLASH de 115Ko / 128K
la partie Application du PIC devient trop Rick-Rack !
=> donc il faut une SDCARD ou eeprom 128Kb
NOTA : XC8 gratuit mais bridé dispose moins de place en FLASH que MikroC !!!!
plus de details
ICI