Tartalomjegyzék
wxPython Image
- Szerző: Sallai András
- Copyright © Sallai András, 2021
- 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.
Ha beállítod az image alfa-csatornáját a wxImage.SetAlpha() metódus használatával, akkor a PNG, TGA vagy TIFF formátumban kell menteni, hogy megmaradjon a beállítás.