在 silverlight 中缩放 PNG 图像
在我的应用程序中,我接受用户的图像。如果图像超过指定大小,那么我将缩小到适当的大小并保存在数据库中。我正在使用 FJCore 库来缩放图像。该库可以很好地处理 JPEG 图像。但它不支持PNG图像。看来图书馆最近没有更新。知道如何在 Silverlight 中做到这一点吗?
In my application, I am accepting an image from user. If the image is more than specified size, then I am scaling down to appropriate size and saving in database. I am using FJCore library for scaling image. The library works well with JPEG images. But it does not support PNG images. It seems that library is not being updated recently. Any idea how can this be done in Silverlight?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以做的是创建一个新的 Image 元素并将其源设置为从流创建的可写位图,但不要将此 Image 元素添加到可视化树中。创建另一个具有所需最终大小的 WriteableBitmap,然后在此 WriteableBitmap 上调用 render,传递 Image 元素和 ScaleTransform,以将图像大小调整为适当的大小。然后,您可以使用第二个 WriteableBitmap 作为第二个 Image 元素的源,并将其添加到可视化树中。
What you can do is create a new Image element and set its source to a Writeable bitmap created from the stream but don't add this Image element to the visual tree. Create another WriteableBitmap of the final size you want and then call render on this WriteableBitmap passing the Image element and a ScaleTransform to resize the image to the appropriate size. You can then use the second WriteableBitmap as the source for a second Image element and add that to the visual tree.
我使用 WriteableBitmapEx 项目确实实现了这一点。这是代码,如果有人需要的话。
I used WriteableBitmapEx project do acheive this. Here is the code if someone needs it.