Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在windows phone中生成图像网格_C#_Image_Windows Phone 8 - Fatal编程技术网

C# 在windows phone中生成图像网格

C# 在windows phone中生成图像网格,c#,image,windows-phone-8,C#,Image,Windows Phone 8,我所在的团队在给定一组图像后,正试图在Windows Phone 8中创建一个由2 X 2图像组成的网格,这与Spotify在播放列表中生成相册图像组合时的做法类似: 目前我们在应用程序中执行此操作的方式包括使用网格、可写位图和位图对象。但是,这些对象都绑定到UI线程,我们希望在不中断UI线程的情况下在单独的线程中执行所有图像处理 我的问题是:是否有一些方法可以在不中断UI线程的情况下实现这一点?如果WP8中的给定框架无法实现这一点,是否有第三方库(C#或C++)允许我们这样做 谢谢 另外,我

我所在的团队在给定一组图像后,正试图在Windows Phone 8中创建一个由2 X 2图像组成的网格,这与Spotify在播放列表中生成相册图像组合时的做法类似:

目前我们在应用程序中执行此操作的方式包括使用网格、可写位图和位图对象。但是,这些对象都绑定到UI线程,我们希望在不中断UI线程的情况下在单独的线程中执行所有图像处理

我的问题是:是否有一些方法可以在不中断UI线程的情况下实现这一点?如果WP8中的给定框架无法实现这一点,是否有第三方库(C#或C++)允许我们这样做

谢谢

另外,我意识到我可以处理字节数组和内存流,从而避免使用第三方库,但如果可能的话,我宁愿不经历这种麻烦:)

GDI和GDI+,但DirectX和Direct2D可用于Windows Phone 8应用程序。但是,.NETBCL中不存在C#API,因此您必须使用类似的包装器,它具有WinRT版本

就实际的绘图命令而言,您仍然会创建位图、写入位图、关闭位图并乱排字节。有关此类示例,请参见


遗憾的是,虽然SharpDX非常有用,但它是本机COM接口上的一个非常薄的包装器,使用Direct2D进行简单操作的复杂性可能令人望而生畏。

也许您可以看看我的 此代码现在也可以在windows phone 8上使用! 我创建了一个异步方法(因此它不会阻塞UI),该方法将使用4个图像作为输入,并返回1,其中4个图像合并,如上面的示例所示

我在示例中的做法是使用一个字符串,将4个url连接在一起,并用; 但是如何使用输入取决于您

要创建一个合并图像,我正在使用
WriteableBitmapEx
库的
Blit
方法尝试使用CreateOptions=“BackgroundCreation”


发件人:

图像创建


值得注意的一个Windows Phone OS 7.1性能优化选项是将图像解码移动到后台线程,而不是阻塞UI线程。这可以通过将CreateOptions属性设置为BackgroundCreation来实现。例如:

谢谢米奇。看起来这可能是有用的,但由于许可证的原因,这是禁止的。我应该在我的问题中澄清这一部分。谢谢again@letsgoyeti,SharpDX是根据麻省理工学院许可证发布的,该许可证允许几乎任何你想要的东西,只要你包括图书馆使用的归属。您是否正在寻找特定类型的许可证?MS-PL和其他大多数人通常限制性更强。哦,我不喜欢读得太快。麻省理工学院的许可证对我们很有效。我将此标记为答案。WrieableBitmapEx看起来像一个很棒的第三方库。我试试看,然后再报告。谢谢fps肯定更高,并且具有延迟加载效应,请访问www.windowsphone.com/en-us/store/app/winpulse/9a7e5cef-d5e2-4758-a9e0-e5eeda5402e
<Image Height="100" Width="100" Margin="12,0,9,0">
  <Image.Source>
    <BitmapImage UriSource="{Binding ImgURL}" CreateOptions="BackgroundCreation"/>
  </Image.Source>
</Image>