English 中文(简体)
使用 Drawimage 方法的空白屏幕
原标题:Blank screen using DrawImage method

我必须用" http://msdn.microsoft.com/en-us/library/ms606804%28v=vs.90%29.aspx" rel=“nofollow”>DrawingCortext.DrawImaage 方法绘制位图图像。

使用下面的代码,一切正常运行:

BitmapImage myImage = new BitmapImage();
myImage.BeginInit();
myImage.UriSource = new Uri("image.png", UriKind.Relative);
myImage.EndInit();

Rect area = new Rect(new Size(myImage.PixelWidth, myImage.PixelHeight));
DrawingVisual myVisual = new DrawingVisual();

using (DrawingContext context = myVisual.RenderOpen())
{ context.DrawImage(myImage, area); }

但前提是图像不超过2Mb, 即区域( < code> myImaage. PixelWidth x myImaage. PixelH8 ) 不大于10,000x1000。 在此情况下, 屏幕是空白的, 没有任何例外被丢弃( 因此我无法确定是否有错误 ) 。

How could I fix this problem? Thanks.

最佳回答

将图像制成时似乎还没有装入更大的图像。 尝试以下方式装入位图 :

BitmapSource myImage = BitmapFrame.Create(
    new Uri("image.png"),
    BitmapCreateOptions.None,
    BitmapCacheOption.OnLoad);

或这种绝望的企图:

using (Stream fileStream = new FileStream("image.png", FileMode.Open))
{
    BitmapSource myImage = BitmapFrame.Create(
        fileStream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
}
问题回答

暂无回答




相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签