Re: HDMI - uživatelské rozlišení, výstup bitmapových grafických dat

Petr Labaj labaj na volny.cz
Pátek Únor 25 21:25:58 CET 2022


V tomto případě nejde o absolutní velikost výstupního obrázku.
První varianta, jak jsem to použil, byl takto obrázek na plný rozměr 
celého displeje.
Ale tady jde o to zachovat absolutní souřadnici jednotlivých prvků toho 
obrázku, i když obrázek začíná třeba kusem prázdného místa.
Kdybych to přirovnal k textovému řetězci - ten exportér udělá něco ltrim 
(), tj. odřízne prázdný prostor před prvním významým bodem.
Ale já tam potřebuju tu mezeru před obrázkem zachovat.

Protože to neumím dobře vysvětlit, tak si dovolím maličký (ošklivý) obrázek.
To první je gerber pro leptání mědi. Obsahuje i rámeček, tedy vnější 
rozměr desky (v Eagle z vrstvy Dimension).
To druhé je film pro masku, jak ho potřebuji. Jsou tam jenom 3 plošky, 
obrázek neobsahuje vnější rámeček, takže začíná prázdným místem, protože 
ty plošky jsou až někde uprostřed desky.
A to třetí ukazuje, jak to udělá ten konvertor. Odřízne tu úvodní 
prázdnou část a malůvku posune do rohu desky. Tedy obrázek 
zoptimalizuje, ale to zde není žádoucí.
Pak by při osvitu masky musela být poloha displeje proti PCB posunutá.

PL

***********************

Dne 25.2.2022 v 19:30 Miroslav Mraz napsal(a):
> Nevím jak se pouští ten obrázek do framebufferu, ale je možné 
> vygenerovat obrázek v plném formátu displeje. Vypadalo by to asi takhle:
>
>   //Draw using Qt
>   const QSize display (1024, 768); // rozměr obrazovky v pixelech
>   QImage qtimage (display, QImage::Format_ARGB32);
>   qtimage.fill(Qt::black);
>   QImage l1 (size_x, size_y, QImage::Format_ARGB32), l2 (l1);
> ...
>   // vrstva do samostatneho QImage a pak je vykreslit.
>   QPainter painter (&qtimage);
>   const QColor bg = positive ? QColor (255,255,255, 255) : QColor 
> (0,0,0, 255);
>   if (mirrory) {
>     const QMatrix m (-1, 0 , 0, 1, display.width(),  0);  // pripadne 
> zrcadleni podle x
>     painter.setMatrix (m);
>   }
>   QPoint offset (100, 100);   // v pixelech vůči levému, v případě 
> zrcadlení pravému hornímu rohu
>   QRect rect (offset, QSize (size_x, size_y));
>   painter.fillRect (rect, bg);
>   painter.drawImage   (offset, l1);
>   if (export_drill)
>     painter.drawImage (offset, l2);
>
> A to je vše.
>
> Mrazík
>
> Dne 25. 02. 22 v 17:24 Petr Labaj napsal(a):
>> Je to skvělé.
>> Už jsem to přeložil i na tom maličkém OrangePi (předtím jsem si s tím 
>> hrál na PC).
>> Chudinka deska se pěkně zapotila, kolik balíků tam bylo třeba 
>> doinstalovat. Ale zvládla to.
>> Zpracování běžné malé desky trvá do 1 sekundy, takže bezva.
>>
>> Mám tam poslední věc k dořešení, a to je absolutní pozicování výsledku.
>> Zatím to udělá ořez na minimální velikost + zvolenou šířku okraje.
>> U osvitu fotoresistu je to OK, tam je součástí gerberu i obvod desky.
>> Ale u osvitu masky ten obvod už nemám.
>> Ono to asi půjde (zatím jsem to nezkoumal).
>> Ale i kdyby nešlo, tak prostě do gerberu pro masku taky přidám vrstvu 
>> Dimension.
>> Absolutně to potřebuju, protože deska bude nasazena na trny, které 
>> zajistí soulad
>> mezi mědí, maskou a vrtáním.
>>
>> Potenciálně by to vadilo při případném osvitu pro popis desky, tam 
>> Dimension
>> asi přidat nebude vhodné (mohlo by to udělat bílou konturu kolem 
>> obrysu a děr).
>> Ale popisy stejně asi spíš budu dělat laserem. Vypadá to docela dobře 
>> a je to rychlé.
>> Jen je popis černý a ne bílý.
>>
>> Původně jsem pouštěl ten Váš export na celý definovaný rozměr 
>> obrazovky, ale pak
>> jsem udělal to generování dat pro okraj (nevyužitá část displeje) až 
>> při zobrazení,
>> aby se dalo zvolit bud průhledné nebo tmavé.
>> Zatím nevím, co bude pro životnost displeje lepší, ale předpokládám, 
>> že asi průhledné.
>>
>> Velký dík.
>> PL
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
A non-text attachment was scrubbed...
Name: Absolutni_poloha.jpg
Type: image/jpeg
Size: 14656 bytes
Desc: [žádný popis není k dispozici]
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20220225/66755836/attachment.jpg>


Další informace o konferenci Hw-list