Tag: writeablebitmap

Sobel运算符和使用WriteableBitmapEx的卷积

所以我在Windows RT上使用WriteableBitmapEx作为应用程序。 我正在尝试使用sobel算子在图像上实现边缘检测。 我已经使用.Convolute()成功地将用于x和y检测的两个内核应用到图像上,但现在我卡住了将两个图像添加到一个。 问题是,两个图像的所有像素似乎都具有透明度值0(因此ARGB中的A)。 我可以自己显示两个图像而没有问题,但添加它们只给我一张黑色图片。 所以我的问题是: 为什么卷积后每个像素的透明度设置为0? 为什么我仍然可以显示图像而不是全黑? 添加两张图片时为什么会黑? 是否有更好的方法来组合两个图像? Blit unfortunatley似乎不支持这种像素添加。 但ForEach真的很慢…… 为了进行校验,到目前为止这是我的代码。 我可以显示wbmpY和wbmpX,但是finalbmp是完全黑色的。 public int[,] sobelY = new int[3, 3] { { 1, 2, 1 }, { 0, 0, 0 }, { -1, -2, -1 } }; public int[,] sobelX = new int[3, 3] { { -1, 0, 1 }, { -2, […]

在WPF中将canvas转换为writeablebitmap的最快方法?

我目前有一个writeablebitmap图像和带有绘图的canvas,我想将图像发送给对等。为了减少带宽,我想将canvas转换为writeablebitmap,因此我可以将两个图像blit到一个新的writeablebitmap。 问题是我无法找到转换canvas的好方法。 因此,我想问一下是否有直接的方法将canvas转换为writeablebitmap类。

如何使用Windows Phone / C中的像素#

Windows Phone 8使用比例因子值缩放元素,因此所有像素都是虚拟的800×480,而ActualWidth/ActualHeight等值则返回“假”800×400值。 我正在显示一个WritableBitmap ,它是在我的UI背景上动态构建的,并且希望它由所有可用像素构成,而不是缩放的800×480图像。 如何“禁用”缩放并将虚拟像素映射为实际设备像素? 我知道如何从比例因子计算值,但我希望它能够与图像背景一起使用,并且理想地完全禁用该function,因为它对于我们的特定用例是不必要的。

如何禁用WriteableBitmap的silverlight跨域内容保护

我在Silverlight中有一张Esri地图,我正在尝试获取屏幕截图。 但是,我正面临着对writeablebitmap的跨域内容保护,称“像素无法访问”。 有没有办法可以禁用它? 还是银光3或4中的任何其他工作?

为什么我的不安全代码阻塞比我的安全代码慢?

我正在尝试编写一些能够方便地处理video帧的代码。 我收到帧作为System.Windows.Media.Imaging.WriteableBitmap 。 出于测试目的,我只是应用一个简单的阈值滤波器来处理BGRA格式图像,并根据BGR像素的平均值将每个像素分配为黑色或白色。 这是我的“安全”版本: public static void ApplyFilter(WriteableBitmap Bitmap, byte Threshold) { // Let’s just make this work for this format if (Bitmap.Format != PixelFormats.Bgr24 && Bitmap.Format != PixelFormats.Bgr32) { return; } // Calculate the number of bytes per pixel (should be 4 for this format). var bytesPerPixel = (Bitmap.Format.BitsPerPixel + 7) / 8; […]

调整WritableBitmap的大小

我已经创建了Gray16格式的WriteableBitmap。 我想将这个WriteableBitmap的大小调整为我已知的尺寸,保留像素格式(Gray16)。 是否有人在调整WriteableBitmap的大小。 请帮我。 我还搜索了互联网,发现了http://writeablebitmapex.codeplex.com/,但这是通过一个assembly引用错误。 请帮我。

如何在Windows Phone上合并2个图像

我有2张图片,我想将它们合并到Windows Phone中的应用程序中。 我的WP相机拍摄的第一张图像,第二张图像是一个框架(边框,滤镜等),用户可以在我们的模板中选择。 那么如何将它们合并为一个呢? 谢谢和最好的问候。

如何减少Windows手机中的图像大小

我想在Windows手机中移植我的应用程序。 我必须在服务器上传一个图像所以它是小尺寸上传我已经在Widows成功完成了这件事但问题是当我失败了..这里是我的代码为Windows App public void CompressImage(int i, int j) { bmp1.SetPixel(j, i, Color.FromArgb(bmp.GetPixel(j, i).R, bmp.GetPixel(j, i).G, bmp.GetPixel(j, i).B)); } private void bLoadImage_Click(object sender, EventArgs e) { OpenFileDialog file = new OpenFileDialog(); if (file.ShowDialog() == DialogResult.OK) { pictureBox1.Image = new Bitmap(file.FileName); } } private void bCompression_Click(object sender, EventArgs e) { bmp = new Bitmap(pictureBox1.Image); bmp1 = […]

将BitmapImage加载到WriteableBitmap中但不存在任何方法

使用Windows 8的WriteableBitmap类的构造函数只接受两个参数:此对象的高度和宽度。 与Silverlight同时,它接受一个BitmapImage对象作为参数。 (在MSDN上validation: WriteableBitmap.WriteableBitmap构造函数 ) 我想加载这个BitmapImage因为我试图模糊我的Assets文件夹中已经存在的图像。

WriteableBitmap上的异步操作

我正在用WPF(C#)编写一个应用程序,它对一组Bitmaps进行长时间的操作。 为了使我的应用程序保持响应,我决定使用另一个线程来对位图执行操作,并在主UI线程中报告进度条的进度。 我认为BackgroundWorker会为我做任何事情,但看起来不会那么容易。 我有以下代码: public class ImageProcessor { public Collection Pictures { get; private set; } private BackgroundWorker _worker = new BackgroundWorker(); public ImageProcessor() { _worker.DoWork += DoWork; } public void DoLotsOfOperations() { _worker.RunWorkerAsync(); } private void DoWork(object sender, DoWorkEventArgs e) { // operations on Pictures collection } } 在运行时,我使用标准打开文件对话框将图像加载到Pictures集合中,然后调用DoLotsOfOperations()方法。 但是当我尝试访问单个位图的任何属性时,我得到InvalidOperationException:“调用线程无法访问该对象,因为不同的线程拥有它”。 这是真的 – 我加载了位图并在UI线程中填充了集合,我尝试在另一个线程中读取集合元素。 所以我尝试了不同的方法: […]