LoginSignup
0
3

More than 1 year has passed since last update.

【C#】2021/05/22最新のMagick.NETは.toBitmap()が使えない!!の解決策

Last updated at Posted at 2021-05-22

初めに

【注意】2021/05/22現在における最新のNuGetからインストールするMagick.NET-Q8-AnyCPUについてになります。

C#のwindowsアプリケーションを作っていまして、
Magick.NETでsvgファイルを扱う時に困って調べて疲れたので備忘録です。

Magick.NETでsvgを扱う方法を調べた

色々なサイトを見ると、NuGetからMagick.NET-Q8-AnyCPUをインストールすると扱えると書いていますが、うまくいきませんでした。
情報はどれも古く、最新版の情報は少ないです。

以下はエラーが出たサンプルコードです。

    //ピクチャーボックス表示用
    System.Drawing.Bitmap myBitmap;
    //svgファイル読み込み
    var Magick = new ImageMagick.MagickImage("Sample.svg");
    //ピクチャーボックスへ表示する為、Bitmapへ変換
    myBitmap = Magick.ToBitmap();
    //リソース解放
    myMagick.Dispose();
    //pictureBox1に表示
    pictureBox1.Image = myBitmap;
    pictureBox.Refresh();

var Magick = new ImageMagick.MagickImage("Sample.svg");
svgファイルを読み込みます。
myBitmap = Magick.ToBitmap();
bitmapに変換します。

一見何も問題なさそうですが、エラーが出てしまいます。
最新版のMagick.NET-Q8-AnyCPUでは .toBitmap()機能 が削除されています。

情報元:https://github.com/dlemstra/Magick.NET/discussions/652

これでは、pictureBoxに入れられません。(ほかの方法もあるかもしれませんが)

対策

拡張機能のNuGetでMagick.NET.SYystemDrawingをインストールしてください。
これをインストールすれば、.toBitmap()が使えるようになります。
無題.png

この3つをインストールすれば少なくとも私の環境では大丈夫でした。

まとめ

そんな感じでした。

参考:
C# Magick.NETを使ってみる。その1
http://1studying.blogspot.com/2017/05/c-magicknet.html
Magick.NETドキュメント
https://github.com/dlemstra/Magick.NET/tree/main/docs
tobitmap extension gone from release 1.18
https://github.com/dlemstra/Magick.NET/discussions/652

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3