为什么此示例 TIFF 导入代码会导致错误



我阅读了如何:编码和解码 TIFF 图像并复制了代码

// Open a Stream and decode a TIFF image
Stream imageStreamSource = new FileStream("tulipfarm.tif", FileMode.Open, 
FileAccess.Read, FileShare.Read);
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, 
BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];
// Draw the Image
Image myImage = new Image();
myImage.Source = bitmapSource;
myImage.Stretch = Stretch.None;
myImage.Margin = new Thickness(20);

到 Visual Studio 2017 中的控制台应用中。 我添加了对每个 https://stackoverflow.com/a/50192029/9044571 的演示核心的引用,这允许我添加

using System.Windows.Media.Imaging;

但是现在我收到与该行关联的错误(错误CS0144无法创建抽象类或接口"Image"的实例(

Image myImage = new Image();

我该如何解决这个问题? 问题可能是我从控制台应用程序执行此操作吗?

原因是,您实际上是针对抽象System.Drawing.Image

修复是:-

  1. 删除错误的命名空间

  2. 使用命名空间别名

命名空间别名

using 指令还可用于为 命名空间。例如,如果您使用的是以前编写的 包含嵌套命名空间的命名空间,您可能希望声明 一个别名,用于提供一种特别引用的速记方式, 如以下示例所示:

using Co = Company.Proj.Nested;  // define an alias to represent a namespace
  1. 显式定位正确的目标

    var myImage = new System.Windows.Media.Imaging.Image();

最新更新