2009-09-08 12 views
7

basit no'lu bir PNG dosyasını yerel Windows'da bir bellek bitmap'ine okuma yolu imkansız gibi görünüyor, ancak çok fazla çaba harcamadan sonra buna inanmaya başladım. Libpng/zlib kombinasyonu çok büyük. Bir PNG okumak için herhangi bir üçüncü taraf kütüphaneleri Win32 kütüphaneleri var mı?Win32/C++ Kullanarak PNG Okuma

Düzelt: Boost :: gil :: png çözümü de umduğumdan çok daha karmaşıktır. Sadece bir dosya ismi alan ve bir bellek arabelleğini piksellerle dolduran tek bir araca ihtiyacınız var.

+1

Yinelenen? Bkz. Http://stackoverflow.com/questions/366768/convert-bitmap-to-png-in-memory-in-c-win32/538742 –

+0

Çekirdek işletim sistemi API'sı, çoklu okuma ve yazma desteği sağlamış olmamalıdır. görüntü türleri Bu tür şeyler için birçok üçüncü parti kütüphanesi var. –

+1

Ed, Yorumunuzu, özellikle üçüncü taraf kitaplıkları hakkında sorduğum gerçeğinin ışığında anlamıyorum. –

cevap

17

Veya tabii ki GDI + kullanabilirsiniz var - Bitmap nesne bir dize yapıcı alır ve belirtilen dosyayı yükler belleğe. Bu şekilde, herhangi bir dış kütüphaneye ihtiyacınız yoktur, sadece pencerelerle birlikte gelir.

+1

Aradığım şey bu, teşekkürler. Ben (yanlışlıkla) GDI + 'nın .NET'in bir parçası olduğunu ve .NET çalışma zamanının Windows XP ve SP2 ile dışarı çıkmadığını düşündüm. Bu harika bir haber. –

+3

Nah GDI +, çekirdek Windows’un bir parçasıdır. –

+0

+1 IJK gibi, GDI + 'nın .NET olduğunu varsaydım ve böyle basit bir bilgi parçasını kaçırdığına inanamıyorum. Teşekkürler Larry! –

1

libgd, Windows'da kullanılabilecek ve birçok popüler dil için bağlamaya sahip mükemmel bir kitaplıktır.

0

bazı yerleşik kullanabilirsiniz şeyler vardır: IImgCtx ve pencereler sonraki sürümlerinde üzerinde de WIC

-1

Bunu yapmak için libpng'u başarıyla kullandım.

İlgili konular