C# 类型或命名空间名称';ImageEntitiesContainer';找不到

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 我搜索了这个错误,找到了一些帖子,但没

我正试图从提供的解决方案的源代码构建一个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”,但没有成功。有人知道我为什么仍然会犯这个错误吗

以下是我的完整源代码:

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,您可以按照它或使用您自己的方式获取数据。祝您好运。