- 題名: pictureBox.Imageをクリップボードへ転送
- 日時: 2004/06/01 14:31:26
- ID: 4236
- この記事の返信元:
- (なし)
- この記事への返信:
- [4316] Re[1]: pictureBox.Imageをクリップボードへ転送 2004/06/07 4:24:38
- ツリーを表示
■No4316に返信(管理人さんの記事) >> Clipboard.SetDataObject(pictureBox1.Image,true); >>のようにしてpictureBoxのImageをクリップボードへ転送しているのですが >>pictureBoxのImageが透明色でクリップボードへ転送すると >>クリップボードでは本来透明色であるはずのものが青色になってしまいます。 > > 本当に青色になっているか確認してください。アプリケーションを使ってクリップボードから取り出した時、背景色が青だっただけかもしれません。もし間違いなければ、お書きになったコードを教えてください。 ご回答ありがとうございます コードは以下の通りになります //フォームのLoadイベントハンドラ private void Form5_Load(object sender, System.EventArgs e) { //150×150の大きさのイメージをImageプロパティに設定する pictureBox1.Image = new Bitmap(150, 150); } private void button1_Click(object sender, System.EventArgs e) { //Imageプロパティに設定されているイメージのGraphicsオブジェクトを取得 Graphics g = Graphics.FromImage(pictureBox1.Image); //イメージに描画する //楕円を描画 g.DrawEllipse(Pens.Red,10, 10, 100, 100); //背景が青色になってしまっているため長方形を描く g.FillRectangle(Brushes.Transparent, 10, 10, 100, 100); //Graphicsを破棄する g.Dispose(); //pictureBoxを再描画する pictureBox1.Invalidate(); } //クリップボードにコピー private void button2_Click(object sender, System.EventArgs e) { Clipboard.SetDataObject(pictureBox1.Image, true); } このようにしてクリップブックを見てみると画像の通りです。 WORDや他のソフトに貼り付けても同じです。 ちなみに関係ないかもしれませんがWinXp proを使っております。 コードに誤りがあるのでしょうか?それとも他の設定なのでしょうか? 皆目検討がつきません。宜しくお願い致します。
分類:[.NET]
いつも勉強させてもらっています。
実は
Clipboard.SetDataObject(pictureBox1.Image,true);
のようにしてpictureBoxのImageをクリップボードへ転送しているのですが
pictureBoxのImageが透明色でクリップボードへ転送すると
クリップボードでは本来透明色であるはずのものが青色になってしまいます。
MakeTransparentを使って透明色の指定をしても結果は同じでした。
何か理由でもあるのでしょうか?
教えて頂ければ幸いです。