2

描画プログラムにコピー、切り取り、貼り付けを実装したい (選択した画像の一部をコピーする)

始め方がわからない

何か案は?

4

5 に答える 5

1

要するに2つの方法が存在します

1)独自のクリップボード2)システム全体のクリップボード

2番目のケースでは、データを保存するために標準形式を使用する必要があります。Windowsクリップボードの詳細については、MSDNをお読みください

または、独自のクリップボードとシステムのクリップボードの2つを維持することもできます。次に、クリップボードにアプリケーションの特定の情報を保存し、システムクリップボードに画像だけを保存できます

于 2009-05-21T07:51:26.290 に答える
1
  1. ユーザーがアプリのあるインスタンスでコピーして別のインスタンスに貼り付ける場合に備えて、システム全体のクリップボードを使用します。ユーザーがウィンドウを閉じて再度開いた場合は、データを貼り付けることができます。
  2. コピー&ペーストを実装する基本クラスからプログラムのすべての形状を継承します。
  3. コピー(またはカット)するには、オブジェクトをシリアル化し、システムクリップボードに配置します。
  4. 貼り付けの場合は、システムクリップボードを読み取り、逆シリアル化してシェイプオブジェクトに戻してみてください(キャストが失敗した場合、クリップボードのコンテンツはアプリのオブジェクトではありませんでした)
  5. 貼り付けた図形の位置を少し左右に移動します(図面に新しい図形があることをユーザーに知らせるため)
于 2009-07-23T19:59:58.733 に答える
1

ここでは、直面する問題を大幅にスピードアップするためのグローバル ポイントをいくつか紹介します。

リバーシブルライン・ラバーバンドで検索してみてください。画像で選択を行います。VB .NET で LockBits を検索して、ピクセルをすばやく読み書きする方法を作成してみてください。バックグラウンド スレッドを学習して、進捗状況を報告してください。時間がかかるピクセルごとの操作用。MDI を作成してみてください。ステータスを報告するのに十分なステータスバーがあります。プロジェクト ファイルをディスクに保存するときは、xml/binary にシリアル化してみてください (たとえば、psd など)。これは、元に戻す機能を作成する場合にも便利です。

于 2009-05-21T11:13:35.443 に答える