- PR -

画像処理について

投稿者投稿内容
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-05-24 17:41
OS:XP
VC2005 C++/CLI
で開発しています。

ピクチャボックスコントロールに表示されている内容を
jpgファイル等に保存する方法はどのようにすれば良いのでしょうか?

pictureBox->Image->Save("C\\test.jpg",System:rawing::Imaging::ImageFormat::Jpeg);
では、下記のようなエラーが出てしまいました。
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"

pictureBoxの内容をファイルに落とすには、どのように行うのでしょうか?

よろしく御願いいたします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-24 17:55
引用:

kenさんの書き込み (2006-05-24 17:41) より:

ピクチャボックスコントロールに表示されている内容を
jpgファイル等に保存する方法はどのようにすれば良いのでしょうか?

pictureBox->Image->Save("C\test.jpg",System::Drawing::Imaging::ImageFormat::Jpeg);
では、下記のようなエラーが出てしまいました。
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"

pictureBoxの内容をファイルに落とすには、どのように行うのでしょうか?


Image プロパティが nullptr じゃないでしょうか?

コード:
    private:
        System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
            this->pictureBox1->Image = System::Drawing::Image::FromFile("C:\\MosaMosaAA.bmp");

            this->pictureBox1->Image->Save("C:\\MakiMakiLove.bmp");
        }
    };


Image プロパティの中身を保存しようとしているのですから、中身がなくてはいけません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-05-24 18:09
じゃんぬねっとさん
レスありがとう御座います。

引用:

Image プロパティが nullptr じゃないでしょうか?

コード:
    private:
        System::Void button1_Click(System:bject^ sender, System::EventArgs^ e) {
            this->pictureBox1->Image = System:rawing::Image::FromFile("C:\\\\MosaMosaAA.bmp");

            this->pictureBox1->Image->Save("C:\\\\MakiMakiLove.bmp");
        }
    };


Image プロパティの中身を保存しようとしているのですから、中身がなくてはいけません。



ピクチャーボックスに描画されている内容をファイルに落としたいのです。。
つまり、GraphicsクラスでDrawingされている内容をファイルに落とせないのでしょうか?当初、SendKeys::SendWait("%{PRTSC}");
を処理に入れたのですが、これでは、タイミングが合わないので、
ピクチャボックスに描画させた内容を、ダイレクトにファイルに落とせないものか
考えたのですが、その考えが、コードに反映できませんでした。。
出来るものなのでしょうか??
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2006-05-24 18:12

初めから、PictureBox に直接描画するんじゃなくて PictureBox の Image に描画すればいいかと。
// 事前に Bitmap インスタンスを作成して代入する必要はありますが。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-24 18:19
引用:

kenさんの書き込み (2006-05-24 18:09) より:

ピクチャーボックスに描画されている内容をファイルに落としたいのです。。


前のレスは、
 Image プロパティでの内容と Graphics オブジェクトを使って描画した内容を混同していますよね?
ということが言いたかったわけです。

引用:

つまり、GraphicsクラスでDrawingされている内容をファイルに落とせないのでしょうか?


なので、Image プロパティの画像に対して直接 Draw されてはいかがでしょう?
System::Drawing::Graphics::FromImage メソッドについて調べてみると良いでしょう。(引数)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-05-24 18:40
Hongliangさん、じゃんぬねっとさん、
レスありがとう御座います。

PictureBox に書かれている内容をImageに
変換は出来るのでしょうか??

そうすれば、FromImageで解決できそうなのですが。。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-24 18:46
引用:

kenさんの書き込み (2006-05-24 18:40) より:

PictureBox に書かれている内容をImageに
変換は出来るのでしょうか??
そうすれば、FromImageで解決できそうなのですが。。


言っているそばから、考え方が逆だと思います。(;^-^)
Hongliang さんや私の案では、何か不都合があるのでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ken
大ベテラン
会議室デビュー日: 2006/03/29
投稿数: 121
お住まい・勤務地: 東京
投稿日時: 2006-05-24 19:05
じゃんぬねっとさん
レスありがとう御座います。

引用:

言っているそばから、考え方が逆だと思います。(;^-^)
Hongliang さんや私の案では、何か不都合があるのでしょうか?


すみません、じゃんぬねっとさん、Hongliangの案で
うまく表示できました。ただ、
すでに、直接、書いてしまっていまして、仕様が変わりまして、
手間が掛かるので、いい方法は無いかと思いまして・・
Imageに取り込めれば、FromImageで、済むのではと・・・
コードを修正する方向で行こうかと思います。

ありがとう御座いました。

スキルアップ/キャリアアップ(JOB@IT)