C#-ben szeretnék egy képet negatívvá tenni valaki segít?
Jó eséllyel előtte HSV-be konvertálják a képet, így csak a hue-t kell "konvertálgatni".
Az meg teljesen tuti, hogy nem c#-ban bütykölnek össze masszív cpu-t igénylő kódokat.
Ipor Sircer,
Azért a Paint.net egészen türhető tempóval üzemel, és C# :)
Meg lehet írni abban is gyors progikat gond nélkül. A c#-os "alap" képmanipulálás azért lassú, mert biztosítja, hogy ne barmolj szét mindent. Folyamatosan lockolja és unlockolja a memóriában a képet, amikor hozzáférsz a pixelszínekhez, ez teszi lassúvá. De ezt gond nélkül ki lehet kerülni, és manuálisan zárolni majd feloldani.
Ha nagyon nagy sebesség kell akkor GPGPU.
Fog meg a képet, ad oda a fragment árnyalónak textúraként, GLSL-el módosíts a képen, majd olvasd ki.
Vagy az univerzális megoldás: OpenCL.
A videokártya sok száz magja párhuzamosan dolgozik a pixeleken, hiszen erre találták ki. Ha nem akarsz GPU-t használni, akkor is érdemes meggondolni a párhuzamosítást, mondjuk úgy hogy a CPU egyik magja a pirossal foglalkozik, a másik a zölddel, a harmadik a kékkel.
De nem hiszem hogy a CPU-nak olyan nagy teher lenne egy kép, ráadásul ezek a library-k közvetlenül írják, csak a fájl formátummal kell elbánniuk.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!