我一直在尝试将DirectX包含在C Sharp项目(Visual Studio 2010)中。我安装了DirectX SDK,并将组件包括为:
using Microsoft.DirectX;
using Microsoft.DirextX.Direct3D;
Run Code Online (Sandbox Code Playgroud)
尝试编译时,出现错误:类型或名称空间名称“ directx”在名称空间“ microsoft”中不存在
一些博客提到我需要在“ .NET”选项卡下添加“引用”-Microsoft.DirectX。但我找不到那边。没有任何工具可以将其添加到选项卡。
任何建议将不胜感激。
我正在创建一个工厂类来简化创建另一个类的对象而不会污染目标类的构造函数(我认为这是工厂的用途)
这就是我现在所拥有的.
public class QFactory
{
public Quiz.Question q(string text, string buttonname)
{
Quiz.Question question = new Quiz.Question();
question.QuestionText = text;
question.QuestionImage = buttonname;
return question;
}
public Quiz.Answer a(string answerText, bool answerRight = false)
{
Quiz.Answer answer = new Quiz.Answer();
answer.text = answerText;
answer.correct = answerRight;
return answer;
}
}
Run Code Online (Sandbox Code Playgroud)
为了使用它来创建Quiz.Question和Quiz.Answer对象,我必须以下列方式使用它.
Quiz.Question q = (new QFactory()).q("What is a tomato?","But_01_Idle");
Quiz.Answer a = (new QFactory()).a("fruit",true);
Quiz.Answer b = (new QFactory()).a("vegetable");
Quiz.Answer c = (new QFactory()).a("animal");
q.Answers = new List<Quiz.Answer>{a,b,c}; // …Run Code Online (Sandbox Code Playgroud) 我正在使用 ImageMagick 库进行图像处理。我需要加载一个“bmp”图像,将其转换为 jpeg,将其加载到缓冲区中并通过网络发送。
但是,我在 ImageMagick 中找不到任何可以在缓冲区中转换和存储数据的支持函数。我只能写入文件。尝试使用Magick::Blob但仍然没有用。
以下代码用于加载、转换和写入文件:
Magick::Image img("Sample.bmp");
img.magick("jpeg");
img.write("Output.jpeg");
Run Code Online (Sandbox Code Playgroud)
编辑:
使用 Magick::Blob 作为:
Magick::Blob myBlob;
img.write(&myBlob);
const void *myData = myBlob.data();
Run Code Online (Sandbox Code Playgroud)
但是在这里我无法将 myData 转换为const char*缓冲区而不会造成任何损失。