問題タブ [magicknet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1327 参照

c# - Magick.Net を使用して画像内の各ピクセルの色を変更する方法

Magick.Net は初めてです。画像の各ピクセルの色を変更しようとしましたが、新しい画像には変更がありません。これが私のコードです。何が起こっているのか誰か教えてもらえますか?どうもありがとう。

0 投票する
1 に答える
523 参照

c# - リサンプリング時の MagickNET 例外 PixelCacheAllocationFailed

ASP .NET アプリケーションで MagickNET を使用しています。通常は動作しますが、一部のファイル (.jpg、.png) で別の DPI で画像を再サンプリングすると例外が発生することがあります。

ImageMagick.MagickResourceLimitErrorException: iisexpress.exe: PixelCacheAllocationFailed `D:\Data\IT Tools and Applications\Code\Zola\ZolaIntranet\Upload\Temp\4ffe031b-b559-4b5c-8f88-e1a5b8e4fbe7.jpg' @ error/cache.c/OpenPixelCache /3369

例外が発生する行は次のとおりです。

小さい DPI (72 以下) を使用しようとすると、別の例外が発生しました。

ImageMagick.MagickCacheErrorException: iisexpress.exe: UnableToExtendCache 'D:\Data\IT Tools and Applications\Code\Zola\ZolaIntranet\Upload\Temp\42458df9-f7ee-4e4b-abfd-628317b4b7eb.jpg': 無効な引数 @ エラー/キャッシュ。 c/OpenPixelCache/3536 ---> ImageMagick.MagickCacheErrorException: iisexpress.exe: UnableToExtendCache

誰かがアイデアを持っていますか?

0 投票する
1 に答える
252 参照

c# - 汎用ハンドラーを使用して動的イメージ (.gif) を作成する

ライブラリ Magick.Net を使用してアルゴリズムを作成し、小さなタイム カウンターを表示しましたが、ジェネリック ハンドラーを介して gif リソースを要求すると静止画像が返されますが、「test.gif」という名前のテスト ファイルを確認すると、ダイナミックなイメージは完璧に機能します。私をよりよく説明するために、これはコードです:

したがって、ジェネリック ハンドラーの応答が .gif 動的ではなく、静的な結果である理由を知りたいです。

0 投票する
1 に答える
375 参照

magicknet - Magick.net のバージョン 7 の Copyopacity とは

私は Magick.net を使用して、ユーザーの写真にいくつかの変更を加えています。写真の特定の部分を切り取るために、compositoperator.Copyopacity を使用してコンポジットを使用しましたが、完全に機能しています。その後、バージョン 7 にアップグレードし、他の合成演算子を使用する必要があります。DstIn が copyOpacity のようなものであり、自分の仕事をしていることがわかりました。しかし、問題は、そのコマンドを適用すると、マスク画像にあるピクセル (一部の透明領域を持つ黒の補助画像、透明は切り取りたい領域) であり、100% 黒ではないピクセルがに転送されることです。最終的な写真なので、最終的な写真には灰色で幽霊のような線があります。マスク画像を編集して、100% 黒ではないすべてのピクセルを削除する必要があるのではないかと考えましたが、問題は、ユーザーがアップロードしたファイルに合わせてマスクのサイズを変更する必要があることです。

私の質問:

ユーザー画像の一部を切り取って、切り取った部分と残りが透明な結果として画像を作成するにはどうすればよいですか? 私が使用しているテクノロジーとフレームワーク: .Net Mvc c# と Magick.net バージョン 7

0 投票する
1 に答える
1514 参照

c# - c#: MagickImage を使用して画像の DPI を変更し、画像のサイズを変更します

MagickImage を使用して画像の Dpi を変更していますが、機能しません

またはこれが機能しない場合

フォトショップのように画像のサイズを変更する方法はありますか

プログラムでこれを行うにはどうすればよいですか。ありがとうございました

0 投票する
1 に答える
954 参照

svg - MagickNet を使用してストリームから SVG ファイルを読み取る方法

私のアプリケーションでは、ユーザーが画像をアップロードしてサービスに送信できます。サービスは画像を別の形式に変換して送り返します。SVG ファイル形式のサポートを追加していますが、バイト配列からファイルを読み取る際に問題が発生しています。

問題は、SVG Stream オブジェクトを使用して MagickImageInfo オブジェクトを初期化すると、次のエラーが発生することです。

「この画像形式のデコード デリゲートはありません '' @ error/blob.c/BlobToImage/355」

私はそれをいじって、代わりに MagickImage オブジェクトを作成し、それを MagickReadSettings のインスタンスに指定して Format を明示的に SVG に設定すると、このエラーを回避できます。

核となる問題は、MagickImage コードが SVG である場合、それがどのようなファイルであるかについてのヒントを必要とすることです。それ以外のファイルタイプについては、どのようなファイルかを推測できるようです。ただし、ファイルの形式を MagickImage クラスに指定することはできますが、MagickImageInfo クラスには、ファイルの種類を示すために指定できるパラメーターがありません。

考えられる解決策の 1 つは、ファイルをディスクに書き込み、MagickImageInfo クラスにディスクからファイルを読み取らせることですが、サービスが複雑になり、ディスクの書き込みアクセスに依存するようになるため、これは実際には行いたくありません。

関連コード:

作業コード:

動作しないコード:

0 投票する
2 に答える
1490 参照

c# - Magick.NET を使用して、サイズを変更せずにイメージをより大きなイメージに複製します

ディスカッション\フォーラム/スタックオーバーフロー/公式ドキュメントを少し検索しましたが、私がしようとしていることを達成する方法について多くの情報を見つけることができませんでした. 公式ドキュメントのほとんどは、ImageMagick のコマンドライン バージョンをカバーしています。

私がやろうとしていることを説明します。大きな画像に貼り付けたい画像が読み込まれています。例: 読み込んだ画像の幅は 9920、高さは 7085 です。大きなもの(幅10594、高さ7387)の真ん中に置きたいです。すべてのボーダー計算の準備ができています ([大きい幅 - 元の幅 / 2] 、高さについても同じです)。

しかし、MagickImage を使用してそれを行う方法がわかりません。これが私が得た最大値です:

これが私が得た最大値です。これを達成するために、次の投稿を使用しました。

ImageMagick で画像の一部のみを処理するには?

また、私は常により大きな TIFF ファイル (高解像度) で作業するため、GDI+ を使用していません。GDI+ は、すべてを処理できない場合 (パラメーターが無効、メモリ不足)、例外をスローする傾向があります (3 つの画像を読み込んだ場合)。そのような解像度で、メモリ不足になりました)。

どんな助けでも親切に感謝します、ありがとう。パブロ。