2009-03-02 21 views
0

Umarız birisinin bir cevabı vardır ve bu, TOO karmaşık değildir. C++ dll üzerinde çalışıyorum (no C# veya .Net, tam statik DLL). Her neyse, tek renkli bir bitmap'lerde yapıyorum. Ben tüm bu çözümün dışında çalışır. Cihaz Bağlamı Al, Uyumlu Cihaz Bağlamı Al, bitmap oluştur, ihtiyacım olanı çiz (siyah/beyaz) ve kurtarabilirim. Bütün bunlar iyi çalışıyor. Ancak, bitmapin çözünürlüğünü nasıl ayarlayacağımı anlayamıyorum.Computing BITMAPINFOHEADER biCompression value for monochrome BMP

C# altındaki başka bir yardımcı programdan bazı testler yaparken, bir bitmap oluşturabilir ve çözünürlüğü ayarlayabilirim. Bunu yaparken, çözünürlük için 1 ile 300 arasında bir parametre ile aynı dosya içeriğini oluşturmak için bir rutin çalıştırdım. Her görüntü, "biCompression" DWORD özelliğindeki değerler için tam olarak aynı EXCEPT çıktı. Varsayılan, 96x96 ekran çözünürlüğüdür, ancak 300x300 ve hatta 203x203 çözünürlükte bazı yazıcılar için açıkça değişmelidir.

cevap

0

Kesinlikle emin misiniz? Gözlemlediğiniz davranışların açıklaması bana göre balıkçılığa yol açar ve bitmaplerinizi veya bunları okumanız için kullandığınız kodu kullandığınızdan şüphelenirsiniz.

1

biXPelsPerMeter ayarlamak istemediğinizden emin misiniz? ve biYPelsPerMeter? Bu iki alan, X ve Y'de metre başına kaç piksel olduğunu ve DPI'yı ayarlamak için kullanabileceğinizi belirtir. biCompression sadece bit eşlem sıkıştırma türüyle ilgilidir, örneğin RLE, JPG, PNG, vb.

0

Girdiğiniz için teşekkürler, ama biXPelsPerMeter'e bir biYPels ... bakacağım. Formatı iki kez kontrol edeceğim ve ne ayarlandıysa ... eğer öyleyse, bu konuyla ilgili ikinci bir dizi göz (zihin) ile vurmuş olabilirsiniz.

Teşekkürler