2011-05-19 38 views
-1

有一個網格,網格大小由16 * 16行和列組成。每個網格都填充一個顏色值。現在我想要一個平滑的圖像/插值圖像(請參考此鏈接:http://en.wikipedia.org/wiki/Bilinear_interpolation。請參考此圖解釋說明(單位平方的雙線性插值示例,其z值爲0,1,1和0.5,如圖所示插值之間用顏色表示))使用位圖類的位圖插值

如何使用位圖類實現此目的?

+1

你想在這裏有人爲你寫一個算法嗎?通過。 – 2011-05-19 08:32:20

回答

0

您的問題似乎表明您想縮放彩色圖像並使用雙線性插值來創建平滑的顏色漸變。

您必須創建一個具有所需顏色深度和尺寸的新位圖。您還需要訪問舊位圖的像素顏色,並使用這些值修改新bitmp的像素顏色。

如果您不關心性能,可以使用GetPixelSetPixel來讀取和寫入各個像素。您還可以使用LockBits直接訪問底層位圖數據。這更復雜,需要更深入地瞭解像素如何存儲在內存中,但可以在修改整個位圖時提供更好的性能。

+0

可以進行插值,保持位圖大小爲16 * 16;我的意思是原始大小有16 * 16和destinatioin大小有16 * 16; – Raghav55 2011-05-19 09:03:12

+0

插值時,可以計算現有值之間的值。在圖像處理方面,您可以在放大圖像時執行此操作。然後你必須插入現有像素引入的新像素值。如果你想在不改變圖像大小的情況下修改顏色,你可能需要執行_convolution_(http://en.wikipedia.org/wiki/Convolution)。例如,您可以模糊圖像以減少顏色的急劇變化。 – 2011-05-19 09:59:48