我想將VerticalResolution
和位圖的HorizontalResolution更改爲固定值300
。更改圖像對象的DPI
我有一個Windows服務需要一些TIFF並執行一些條形碼相關的操作。除此之外,我從單頁頁面創建了多頁TIFF。
問題是原來的DPI總是300,結果有96 DPI。
即使解析度相同且文件大小不變(考慮附加頁面),這似乎是唯一相關的區別。
這是相關的,因爲我需要在每個文件300 DPI。
這是我認爲原因在於代碼,從這裏取:https://www.codeproject.com/Articles/16904/Save-images-into-a-multi-page-TIFF-file-or-add-ima
private Bitmap ConvertToBitonal(Bitmap original)
{
Bitmap source = null;
// If original bitmap is not already in 32 BPP, ARGB format, then convert
if (original.PixelFormat != PixelFormat.Format32bppArgb)
{
source = new Bitmap(original.Width, original.Height, PixelFormat.Format32bppArgb);
source.SetResolution(original.HorizontalResolution, original.VerticalResolution);
using (Graphics g = Graphics.FromImage(source))
{
g.DrawImageUnscaled(original, 0, 0);
}
}
else
{
source = original;
}
// some stuff here
// Create destination bitmap
Bitmap destination = new Bitmap(source.Width, source.Height, PixelFormat.Format1bppIndexed);
// other stuff
}
調試它,我看到指令之前:
Bitmap destination = new Bitmap(source.Width, source.Height, PixelFormat.Format1bppIndexed);
位圖有VerticalResolution 300水平分辨率300. 它變成96x96。
我該如何改變這些圖片屬性,以使圖片具有300 DPI?
使用SetResolution方法來設置原始Xdpi和Ydpi解決,默認DPI爲新的位圖對象是96x96的如在下面的答案指出。
顯示我們一個[MCVE],我們可以幫助你。 – TheLethalCoder
我們不是在這裏爲你寫代碼 – MickyD
我在問是否有方法來設置我不能直接設置的屬性。不要爲我寫代碼。我將添加更多信息 – refex