C# 类型或命名空间名称';ImageEntitiesContainer';找不到
我正试图从提供的解决方案的源代码构建一个C#.NET应用程序 我已经添加了对org.Video.FFMPEG.dll的引用,但仍然出现以下错误: 错误2未能找到类型或命名空间名称“ImageEntitiesContainer” 找不到(是否缺少using指令或程序集 参考?)C:\WorkSpace\Visual Studio 2013\Projects\CSharp\ImagesToVideo\Program.cs 56 40 ImagesToVideo 我搜索了这个错误,找到了一些帖子,但没有任何帮助。我尝试将目标框架从默认的.NET framework 4.5更改为其他一些框架:“.NET framework 2.0”、“.NET framework 3.0”、“.NET framework 4.0”,但没有成功。有人知道我为什么仍然会犯这个错误吗 以下是我的完整源代码:C# 类型或命名空间名称';ImageEntitiesContainer';找不到,c#,visual-studio-2013,ffmpeg,namespaces,aforge,C#,Visual Studio 2013,Ffmpeg,Namespaces,Aforge,我正试图从提供的解决方案的源代码构建一个C#.NET应用程序 我已经添加了对org.Video.FFMPEG.dll的引用,但仍然出现以下错误: 错误2未能找到类型或命名空间名称“ImageEntitiesContainer” 找不到(是否缺少using指令或程序集 参考?)C:\WorkSpace\Visual Studio 2013\Projects\CSharp\ImagesToVideo\Program.cs 56 40 ImagesToVideo 我搜索了这个错误,找到了一些帖子,但没
using AForge.Video.FFMPEG;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AForge.Video.FFMPEG
{
public class MovieMaker
{
public void Start()
{
var startDate = DateTime.Parse("12 Mar 2012");
var endDate = DateTime.Parse("13 Aug 2012");
CreateMovie(startDate, endDate);
}
/*THIS CODE BLOCK IS COPIED*/
public Bitmap ToBitmap(byte[] byteArrayIn)
{
var ms = new System.IO.MemoryStream(byteArrayIn);
var returnImage = System.Drawing.Image.FromStream(ms);
var bitmap = new System.Drawing.Bitmap(returnImage);
return bitmap;
}
public Bitmap ReduceBitmap(Bitmap original, int reducedWidth, int reducedHeight)
{
var reduced = new Bitmap(reducedWidth, reducedHeight);
using (var dc = Graphics.FromImage(reduced))
{
// you might want to change properties like
dc.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
dc.DrawImage(original, new Rectangle(0, 0, reducedWidth, reducedHeight), new Rectangle(0, 0, original.Width, original.Height), GraphicsUnit.Pixel);
}
return reduced;
}
/*END OF COPIED CODE BLOCK*/
private void CreateMovie(DateTime startDate, DateTime endDate)
{
int width = 320;
int height = 240;
var framRate = 200;
using (var container = new ImageEntitiesContainer())
{
//a LINQ-query for getting the desired images
var query = from d in container.ImageSet
where d.Date >= startDate && d.Date <= endDate
select d;
// create instance of video writer
using (var vFWriter = new VideoFileWriter())
{
// create new video file
vFWriter.Open("nameOfMyVideoFile.avi", width, height, framRate, VideoCodec.Raw);
var imageEntities = query.ToList();
//loop throught all images in the collection
foreach (var imageEntity in imageEntities)
{
//what's the current image data?
var imageByteArray = imageEntity.Data;
var bmp = ToBitmap(imageByteArray);
var bmpReduced = ReduceBitmap(bmp, width, height);
vFWriter.WriteVideoFrame(bmpReduced);
}
vFWriter.Close();
}
}
}
}
}
使用arge.Video.FFMPEG;
使用制度;
使用System.Collections.Generic;
使用系统图;
使用System.Linq;
使用System.Threading.Tasks;
使用System.Windows.Forms;
命名空间AForge.Video.FFMPEG
{
公共级电影制作人
{
公开作废开始()
{
var startDate=DateTime.Parse(“2012年3月12日”);
var endDate=DateTime.Parse(“2012年8月13日”);
CreateMovie(开始日期、结束日期);
}
/*复制此代码块*/
公共位图ToBitmap(字节[]byteArrayIn)
{
var ms=新系统IO内存流(byteArrayIn);
var returnImage=System.Drawing.Image.FromStream(毫秒);
var bitmap=新系统.Drawing.bitmap(返回图像);
返回位图;
}
公共位图还原位图(位图原始、int-reducedWidth、int-reducedHeight)
{
var reduced=新位图(reducedWidth、reducedHeight);
使用(var dc=Graphics.FromImage(简化))
{
//您可能希望更改属性,如
dc.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
DrawImage(原始,新矩形(0,0,reducedWidth,reducedHeight),新矩形(0,0,原始.Width,原始.Height),GraphicsUnit.Pixel);
}
回报减少;
}
/*复制的代码块结束*/
私有void CreateMovie(日期时间开始日期、日期时间结束日期)
{
整数宽度=320;
整数高度=240;
var framRate=200;
使用(var container=new-ImageEntitiesContainer())
{
//用于获取所需图像的LINQ查询
var query=来自container.ImageSet中的d
其中d.Date>=startDate和d.DateImageEntitiesContainer不是一个类,而是一个数据源。您可以在LINQ查询代码中找到它:
using (var container = new ImageEntitiesContainer())
{
//a LINQ-query for getting the desired images
var query = from d in container.ImageSet
where d.Date >= startDate && d.Date <= endDate
select d;
使用(var container=new-ImageEntitiesContainer())
{
//用于获取所需图像的LINQ查询
var query=来自container.ImageSet中的d
其中d.Date>=开始日期和d.Date当您右键单击ImageEntitiesContainer
时,是否看到名为Resolve
的选项?很遗憾,没有,我没有看到“Resolve”选项在右键单击ImageEntitiesContainer后。我似乎在AForge.NET源代码中的任何地方都找不到ImageEntitiesContainer
,您确定该类确实存在吗?不,我不确定,但是我链接到的中的其他人似乎已经开始工作了。我认为ImageEntitiesContainer
是链接中未记录的类因此,请回答。它似乎包含许多从示例中的数据库中获取的ImageSet
对象。您应该能够轻松地构建自己的ImageEntitiesContainer
类,在链接的示例中,它仅用作数据容器。感谢Angus,我想也许我仍然可以让代码正常工作,并且如果是这样的话,我想可能会出现无法找到数据库的错误。我想我必须设置一种方法来捕获文件夹中的所有JPG文件并将其用作我的源文件,因为我不会使用数据库。是的@KeithJ,您可以按照它或使用您自己的方式获取数据。祝您好运。