【发布时间】:2019-03-12 09:03:49
【问题描述】:
重现以下步骤:
在终端/cli:
dotnet new console --language F# --name "sample"
cd sample
dotnet add package Accord.Imaging
dotnet add package CoreCompat.System.Drawing --version 1.0.0-beta006
按照image下载并放入项目文件夹。
更改Program.fs 以包含以下代码:
// Learn more about F# at http://fsharp.org
open System
open System.Drawing
open Accord.Imaging.Filters
[<EntryPoint>]
let main argv =
let bitmap = new Bitmap("sample8.jpg")
let filter = new Grayscale( 0.2125, 0.7154, 0.0721 );
let sourceImage = filter.Apply(bitmap)
printfn "Hello World from F#!"
0 // return an integer exit code
如何解决我收到的以下错误?
Unhandled Exception: System.MissingMethodException: Method not found: 'System.Drawing.Color[] System.Drawing.Imaging.ColorPalette.get_Entries()'.
at Accord.Imaging.Image.SetGrayscalePalette(Bitmap image)
at Accord.Imaging.Image.CreateGrayscaleImage(Int32 width, Int32 height)
at Accord.Imaging.Filters.BaseFilter.Apply(BitmapData imageData)
at Accord.Imaging.Filters.BaseFilter.Apply(Bitmap image)
at Program.main(String[] argv) in /dev/sample/Program.fs:line 11
【问题讨论】:
-
您是否在编译该程序的同一台计算机上运行该程序?
-
@knocte 是的,我愿意。忘了说,操作系统是 Linux Mint 18.1 64 位。
-
什么版本的 .NET Core?你是怎么安装的?你以前安装过吗?
-
这个方法is implemented在最新的corefx中(至少),所以你应该尝试安装最新的netcore
-
@knocte @Szer 我以前有版本
2.1.3,现在更新为2.1.403。仍然无法正常工作。如果我不包含CoreCompat.System.Drawing,它会抱怨Bitmap找不到类型。
标签: f# .net-core system.drawing accord.net