SDLPainter 1.4.0
SDL3 + OpenGL/Vulkan 2D çizim kütüphanesi
Yüklüyor...
Arıyor...
Eşleşme Yok
sdl_painter::Image Sınıf Referans

Yüklenmiş görüntü — texture sarmalayıcı. Ayrıntılar...

#include <image.h>

Public Üye Fonksiyonlar

 Image (const std::string &file_path)
 Dosyadan görüntü yükle. Başarısız olursa IsValid() false döner.
bool IsValid () const noexcept
 Görüntü başarıyla yüklendi mi?
int32_t Width () const noexcept
 Görüntü genişliği (piksel).
int32_t Height () const noexcept
 Görüntü yüksekliği (piksel).
int32_t Channels () const noexcept
 Kanal sayısı (1 = gri, 2 = gri+alfa, 3 = RGB, 4 = RGBA).
const uint8_t * RawData () const noexcept
 Ham piksel verisi (stb_image tarafından yüklendi).
void SetFilter (TextureFilter filter) noexcept
 Örnekleme filtresini ayarla.
TextureFilter GetFilter () const noexcept
 Yürürlükteki örnekleme filtresi.
TextureHandle Upload (IRenderer &renderer) const
 Texture'ı renderer'a yükle; ikinci çağrıda önbelleği döner.
TextureHandle GetHandle () const noexcept
 Önceden yüklenmiş texture tanımlayıcısını döner (kInvalidTexture → henüz yüklenmedi).

Statik Public Üye Fonksiyonlar

static Image CreateFromData (const uint8_t *data, int32_t width, int32_t height, int32_t channels)
 Ham piksel verisinden görüntü oluştur (veriler kopyalanır).

Ayrıntılı tanımlama

Yüklenmiş görüntü — texture sarmalayıcı.

stb_image üzerinden dosya yükler. Texture, renderer üzerinden oluşturulur.

Uyarı
Bir Image, ona ait texture'ı yükleyen Painter (ve dolayısıyla IRenderer) yaşıyorken yıkılmalıdır. Painter yok olduktan sonra Image yıkılırsa, sahip pointer (raw IRenderer*) dangling olur ve ~Image() davranışı tanımsızdır. Pratikte: Image'ı Painter scope'una göre dar tutun, asla static veya Painter'dan daha uzun yaşayan bir konuma koymayın.

Üye Fonksiyon Dokümantasyonu

◆ CreateFromData()

Image sdl_painter::Image::CreateFromData ( const uint8_t * data,
int32_t width,
int32_t height,
int32_t channels )
staticnodiscard

Ham piksel verisinden görüntü oluştur (veriler kopyalanır).

Prosedürel dokular ve bellekten yükleme için kullanılır.

◆ SetFilter()

void sdl_painter::Image::SetFilter ( TextureFilter filter)
inlinenoexcept

Örnekleme filtresini ayarla.

Piksel sanatı kNearest ister; varsayılan kLinear ile pikseller büyütüldüğünde bulanıklaşır.

Uyarı
Filtre doku oluşturulurken uygulanır, yani ilk çizimden (ilk Upload) önce ayarlanmalıdır. Sonradan çağırmak önbelleklenmiş dokuyu etkilemez.

Bu sınıf için dokümantasyon aşağıdaki dosyadan üretilmiştir: