最近C#を始めたのですが、フォームをコピーする際に
Bitmap myBmp = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(myBmp, new Rectangle(0, 0, this.Width, this.Height));
Clipboard.SetDataObject(myBmp, false);
といった風にコピーをしていたのですが、これではフォーム全体がコピーされ、縁ができてしまいます。範囲指定してフォームコピーをする方法はないでしょうか。
No.1ベストアンサー
- 回答日時:
こんばんは。
クライアント領域のスクリーンショットを取りたいのでしょうか。
DrawToBitmap()を呼ぶとフォームの外枠も含まれるので、もう一つ用意しておいたビットマップに向かって、外枠の分だけずらして転送します。
後はクリップボードに向かって送ってあげれば、外枠を抜いたスクリーンショットが取れているはずです。
以下参考程度に。
//フォームからスクリーンショットを撮る
Bitmap myBmp = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(myBmp, new Rectangle(0, 0, this.Width, this.Height));
//外枠を除外されたスクリーンショット
Bitmap sendBmp = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);
//外枠を除外して転送
Graphics gfx = Graphics.FromImage(sendBmp);
gfx.DrawImage(myBmp, this.PointToClient(this.Location));
//クリップボードに送る
Clipboard.SetDataObject(sendBmp, true);
//後始末
sendBmp.Dispose();
myBmp.Dispose();
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのデータフォームのサイズ...
-
C# マルチディスプレイにて、...
-
ExcelVBAでフォーム内でブック...
-
リストボックスの選択解除
-
VBAでフォームのスクロールバー...
-
Googleフォーム・複数人の申し...
-
VBAにてメッセージボックスを最...
-
Access:ストアドプロシージャ...
-
フォームにリストボックスを作...
-
ダーツ フォーム投げ方
-
バイク王の買取り金額検索フォ...
-
デロンギのオーブンが故障して...
-
C#で作成したDLLをDelphiで呼ぶ...
-
ASP.NETとC#でWebフォームを呼...
-
C#WebServer
-
Excel VBA フォームとシートの連結
-
フォームを1つだけ閉じる方法は?
-
EXCEL VBA マクロ 実行する度に...
-
VBA エンターキーでイベントに...
-
「PC Helpsoft Driver Updated...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBAにてメッセージボックスを最...
-
アクセスVBA フォームのス...
-
Accessでフォームから別フォー...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
サブフォームのイベント取得
-
Access 無操作の場合、自動で閉...
-
リストボックスの選択解除
-
メッセージボックスの背景色
-
VB.net(VB)で、フォームにExcel...
-
accessで2つ以上のフォームを起...
-
フォーム上の全てのコントロー...
-
Accessのトグルボタンでサブフ...
-
ExcelVBAでフォーム内でブック...
-
ユーザーフォーム上にアイコン...
-
ACCESS VBAサブフォーム(DATA S...
-
PDFフォームに本日の日付を自動...
-
子フォームから親フォームのオ...
-
アクセス フォームが存在する...
おすすめ情報