22

この同様の質問の回答はすべて、ファイルを保存する必要があります。ただし、ファイルを変換してからクリップボードにコピーしようとしています。

ビットマップ (または任意の画像) をファイル システムに保存せずに PNG に変換するにはどうすればよいですか?

更新:
画像をアプリケーション (この場合は Evernote) に貼り付けようとしています。画像をクリップボードにコピーすると (ブラウザ経由など)、その画像形式が記憶され、貼り付けると、まったく同じ形式の画像が作成されます。たとえば、PNG をコピーすると、PNG が貼り付けられます。JPG をコピーすると、JPG などが貼り付けられます。

現在クリップボードにある画像を取得し、必要なサイズにスケーリングしてから、クリップボードに PNG として保持しようとしています。これにより、Evernote に貼り付けたときに PNG が作成されます。

ブラウザで PNG 画像をコピーすると、次の形式が表示されます: HTML FORMAT, CF_BITMAP, . これらの Evernote のどれが貼り付けに使用されているかわかりません。私はそれが.CF_DIBCF_DIBV5CF_BITMAP

貼り付けたときに PNG として扱われる画像をクリップボードに配置するにはどうすればよいですか?

4

1 に答える 1

33

BitmapMemoryStreamに保存する

byte[] result = null;
using (MemoryStream stream = new MemoryStream())
{
    bitmap.Save(stream, ImageFormat.Png);
    result = stream.ToArray();
}
于 2010-08-19T01:03:01.323 に答える