< Kép

wxPython Image

Szerző: Sallai András

Copyright © Sallai András, 2021

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

A wx.Image

Platformfüggetlen képek tárolása.

Egy image készülhet adatokból vagy wx.Bitmap.ConvertToImage() metódussal. A képek betölthetők különböző fájlformátumokból, és létrehozhatók belőle más formátumok.

A wx.Image jelenleg nem rajzolható direktben egy wx.DC-vel. Helyette a platformspecifikus wx.Bitmap objektumot kell készíteni a Bitmap.Bitmap(wxImage, int depth) konstruktorral. A bitmap rajzolható egy eszközkontextuson keresztül, a wx.DC.DrawBitmap használatával.

A legnagyobb különbség a wx.Image és a wx.Bitmap között, hogy a wx.Image csak egy RGB bájtl tároló, opcionálisan használható alfa-csatornával. Általában platform és képfájlformátum független kód. Lehet vele méretezni (scaling), átméretezni (resizing), és más tevékenységek a kép adatain.

A Bitmap célja, hogy bármilyen natív képformátum burkolója legyen, ami könnyen rajzolható DC-vel vagy wx.MemoryDC rajzolási műveletek végezhetők rajta.

A kép színértéke használható maszk színeként, ami létrehoz automatikusan egy wx.Mask objektumot.

Alfa-csatorna

A wxWidgets 2.5.0 óta támogatja a wx.Image az alfa-csatorna adatokat, ami hozzáadódik a piros, zöld és kék színekhez. A 0 alfa érték átlátszót jelent (nulla átlátszatlanság), míg a 255 érték esetén a kép 100%-ban átlátszatlan.

A IMAGE_ALPHA_TRANSPARENT és a IMAGE_ALPHA_OPAQUE állandó ezeknek az értékeknek az olvashatóbb formátumát adják. Az összes kép rendelkezik RGB adatokkal, de nem mindegyikenk van alfa-csatornája. A wx.Image.GetAlpha() metódus használata előtt ellenőrizze, hogy a kép tartalmaz-e alfa-csatornát, a wx.Image.HasAlpha() metódussal.

Jelenleg a BMP, PNG, TGA, és TIFF formátumok rendelkeznek teljes alfa-csatorna támogatással.

Forrás

https://wxpython.org/Phoenix/docs/html/wx.Image.html (2021)