4

C# でフレームワーク .NET 3.5 を使用して Winform アプリケーションを開発しています。ユーザーが Word 2007 から画像をドラッグ アンド ドロップできるようにしたいと考えています。基本的に、ユーザーは docx を開き、画像を選択して、PictureBox にドラッグ アンド ドロップします。

デスクトップおよびインターネット ページからの画像ファイルで同じプロセスを既に実行しましたが、メタファイルの問題を解決できません。私はほとんど調査を行いませんでしたが、私の問題を解決する解決策は見つかりませんでした。

Drag&Drop イベントで行ったことは次のとおりです。

 private void PictureBox_DragDrop(object sender, DragEventArgs e)
 {
    if (e.Data.GetDataPresent(DataFormats.MetafilePict)){
        Image image = new Metafile((Stream)e.Data.GetData(DataFormats.MetafilePict));     
     }
  }

このコードでストリームを取得できます: (Stream)e.Data.GetData(DataFormats.MetafilePict) しかし、それを Metafile またはより良い Image オブジェクトに変換する方法がわかりません。

何かアイデアや解決策があれば、喜んでお読みください。

ありがとう、

4

3 に答える 3

0

Metafile にはメソッド .FromStream がないため、 new Metafile (stream) を呼び出す必要があると思います。

于 2010-12-07T10:01:32.280 に答える
0

私はまだ彼のウェブを掘り下げて、私の問題を解決する別の方法を試しています. うまくいけば、この未回答のスレッドが私の問題について話しているが、応答がないことを発見したことを願っています: Get Drag & Drop MS Word image + DataFormats.EnhancedMetafile & MetafilePict :

http://www.codeguru.com/forum/showthread.php?t=456722

Word 2003でフローティング画像(InlineShapeではなくShapeに保存された画像)をコピーしてwinformに貼り付けることができる別のIOを回避します。2 番目のソースのリンクを貼り付けることはできませんが (この Web サイトでの評判が低いため)、誰かが要求した場合は貼り付けます。

したがって、クリップボードに保存されたメタファイルにドラッグ アンド ドロップでアクセスできないという共通の問題があるようです。

ドラッグ アンド ドロップでメタファイルを取得する方法を理解する必要があります。

于 2010-12-13T15:56:31.353 に答える