我必须编写在WPF中设置像素的函数。我需要画一些照片。使用附加代码我有一些模糊的效果(如在屏幕上)。
你能告诉我什么是错的,或者我应该使用哪种方法?
namespace DisplayAppCS {
public partial class MainWindow : Window
{
WriteableBitmap _bitmap = new WriteableBitmap(100, 200, 1, 1, PixelFormats.Bgr32, null);
public MainWindow()
{
InitializeComponent();
image1.SnapsToDevicePixels = true;
image1.Source = _bitmap;
int[] ColorData = { 0xFFFFFF }; // B G R
Int32Rect rect = new Int32Rect(
1,
60,
1,
1);
_bitmap.WritePixels(rect, ColorData, 4, 0);
}
}}
答案 0 :(得分:4)
您的位图是100x200,但您的窗口要大得多。您的图像被拉伸到窗口的大小,从而产生“模糊”效果。您需要更改窗口的大小或告诉图像不要伸展:
<Image Stretch="None"/>
那就是说,你可能会使用可写位图完全走错路径。这实际上取决于您的要求。您是否可以使用内置的WPF形状,例如?
答案 1 :(得分:0)
您可以尝试使用SnapToDevicePixels属性。