Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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# 如何从媒体库中检索位图格式的图像_C#_Image_Sitecore_Sitecore7.2 - Fatal编程技术网

C# 如何从媒体库中检索位图格式的图像

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

我正在Sitecore上执行图像处理

给定图像的ID,我希望能够以位图格式检索它-我目前不知道如何执行如此简单的任务,而不是缺少搜索


编辑:我说的是位图对象(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...
}

你想从代码中实现这一点吗?确实-请参阅我的编辑。