ホームページ >バックエンド開発 >C++ >JPEGをMemoryStreamに変換すると、「GDIでジェネリックエラーが発生した」例外が発生したのはなぜですか?

JPEGをMemoryStreamに変換すると、「GDIでジェネリックエラーが発生した」例外が発生したのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-26 15:31:09228ブラウズ

Why Does Converting a JPEG to a MemoryStream Throw a

JPEGからメモリストリーム変換問題:

(または同様の方法)を使用してjpeg画像をメモリストリームに変換すると、一般的なGDIエラーが発生します。

この問題はJPEGのみに影響します。 PNG変換は問題なく動作します。

ConvertImageToByteArray

根本原因:
<code>System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+.</code>

エラーは、画像を保存する前に画像オブジェクトを作成するために使用されるメモリストリームを早期に閉じることに起因します。

解決策:

解決策は、画像の保存プロセス全体でメモリストリームを開いたままにすることです。

さらなるメモ:

メモリストリームを使用することは、画像のマイムタイプを保存するために重要です。 それがなければ、出力画像のマイムタイプは未定義で、一般的なエラー処理が複雑になります。

以上がJPEGをMemoryStreamに変換すると、「GDIでジェネリックエラーが発生した」例外が発生したのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。