C# 如何从媒体库中检索位图格式的图像
我正在Sitecore上执行图像处理 给定图像的ID,我希望能够以位图格式检索它-我目前不知道如何执行如此简单的任务,而不是缺少搜索C# 如何从媒体库中检索位图格式的图像,c#,image,sitecore,sitecore7.2,C#,Image,Sitecore,Sitecore7.2,我正在Sitecore上执行图像处理 给定图像的ID,我希望能够以位图格式检索它-我目前不知道如何执行如此简单的任务,而不是缺少搜索 编辑:我说的是位图对象(System.Drawing.Bitmap),原因是我需要使用第三方图形库(AForge)处理它们。我最终发现了;这是将驻留在Sitecore媒体库中的图像转换为System.Drawing.Bitmap格式的代码: var item = new Sitecore.Context.Database.GetItem(imageId); var
编辑:我说的是位图对象(System.Drawing.Bitmap),原因是我需要使用第三方图形库(AForge)处理它们。我最终发现了;这是将驻留在Sitecore媒体库中的图像转换为System.Drawing.Bitmap格式的代码:
var item = new Sitecore.Context.Database.GetItem(imageId);
var mediaItem = Sitecore.Data.Items.MediaItem(item);
var image = new System.Drawing.Bitmap(mediaItem.GetMediaStream());
要从
MediaItem
实例获取位图
数据,您需要访问流
,这可以通过GetMediaStream()
完成
这是一种一次性资源,因此应使用使用
位图
然后可以将流
作为参数,但由于位图
也是一次性的,因此应再次使用使用
:
var mediaItem = ...get the media from a field or database...
using (var stream = mediaItem.GetMediaStream())
using (var bitmap = new Bitmap(stream))
{
...use the bitmap...
}
你想从代码中实现这一点吗?确实-请参阅我的编辑。