2011-04-20 19 views
24

anlamıyorum.RenderTargetBitmap ve DPI

new RenderTargetBitmap ((int) (width/96d)*dpi, (int) (height/96d)*dpi, dpi, dpi, PixelFormats.Pbgra32); 

Örnekler:

http://blogs.msdn.com/b/jaimer/archive/2009/07/03/rendertargetbitmap-tips.aspx

ContentControl + RenderTargetBitmap + empty image

http://social.msdn.microsoft.com/forums/en-US/wpf/thread/984da366-33d3-4fd3-b4bd-4782971785f8/ Oldukça sık böyle DPI dayalı görüntü boyutunu ayarlayarak standart dışı DPI ayarları ile fırsatlar kodunu görmek

Diğer zamanlarda dpi görünüyor gibi görünüyor şöyle ya 96 ya da farklı değerlere kodlanmış:

new RenderTargetBitmap (width, height, 96, 96, PixelFormats.Pbgra32); 

Örnekler:

http://www.i-programmer.info/programming/wpf-workings/538-rendertargetbitmap-visual-vector-to-bitmap.html

http://www.ericsink.com/wpf3d/3_Bitmap.html

http://dedjo.blogspot.com/2008/05/performance-appliance-of.html

How to render a checked CheckBox (Aero theme) to a RenderTargetBitmap?

veya

new RenderTargetBitmap (width, height, 120, 96, PixelFormats.Pbgra32); 

Örnekler:

http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx

sen diğeri diğer yapardınız?

Birazdan hep daha sonra uygulamanın içinden kontrol olarak aynı boyutta görüntüyü görüntülemek istiyorsanız (ilk örnekte olduğu gibi) bit haritasının boyutunu ayarlamak gerektiğini söylemek muyum?

Ve genişliğini ve yüksekliğini ayarlamak değil, farklı bir dpi kullanıyorsanız o dosyaya kaydetme veya muhtemelen 96 de sabit dpi kullanması gerektiğini?

Ben sabit boyutlu bir dosyaya bir denetimin görüntüyü kaydetmek istediğini farz edelim. O zaman hala dpi'yi ayarlayabilir miyim yoksa sadece varsayılan 96 mı kullanmalıyım?

cevap

3

96 varsayılanı, masaüstü ekranlarının en genel/kullanılmış dpi'idir. Ama bu değişebilir/değişebilir.

Eğer programın derleme sırasında olmalıdır bitmap hangi dpi değerinde biliyor Eğer istenilen değerde ayarlayın olabilir (örneğin 96) olmak dürüst, bunu yapmak için sürekli kullanmak istiyorum ama aşağı kaynar çalışma zamanında aynı şey.

görüntü Eğer sabit kodlamamanız dpi olmalıdır gerekli olacak ne çözünürlük de bilmiyorsanız.

Bu arada: her zaman bir görüntünün dpi ayarını doğru yaptığınızdan emin olun.

+0

Seni anladığımdan emin değilim. Elbette sistemin hangi DPI kullandığını biliyorum. Ayrıca, gerçek sistem dpi 96 olduğunu varsaymak için oldukça normal olduğunu düşünüyorum.Benim sorum, hem sistem dpi'sini görmezden gelmek hem de/neden görüntünün boyutunu dpi'ye göre ayarlamak istediğinizde. Bahsedildiği gibi insanlar bazen görüntü boyutunu dpi'ye ve diğer zamanlara göre ayarlamaz gibi görünüyor. –

+2

Yanlış bir varsayım yaptığınızı düşünüyorum: Görüntünün dpi'sinin mevcut sistem dpi'yle hiçbir ilgisi yoktur. Görüntünün dpi'si, görüntüdeki verilerin nasıl kullanıldığını/anlaşılacağını belirtir. –

İlgili konular