プログラム上での画像作成というのはできるのでしょうか?
例えば、関数を使って、tukutu(100,100); ※(xsize,ysize)
100*100サイズの画像を作るといったことはできるのでしょうか?
しかし、作ったものをpicture1などに貼り付けられるものでないといけません。
もしくは、画像のリサイズを考えています。
例えば、rsize("a.bmp",100,100); ※("元画像",xsize,ysize)
といった感じで、もともとある画像を100*100のサイズに変える方法でもいいのですが。
画像の縮小拡大など難しいことは使わないで、もし指定のサイズより元画像が小さかったらあまりの部分に白領域を足して、大きかったら削ってしまうといった具合です。
とにかくプログラム上で指定したサイズでの画像を作成したいです。
ソフトはビジュアルスタディオを使っています。
分かる方がいましたらよろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは。
補足頂きました。う~む、チョッと不明瞭ですな。
>>CLIというのが何なのかよくわかりませんでしたが、おそらくエラーばかりでてしまうので違うものなのではないかと思います。
ビジュアルスタジオの「C++」である事は間違いなさそうでしょうか?
でしたら、
(1)を右クリック
(2)に「共通言語ランタイムサポート(/clr)」を選択すれば其のまま使える筈。
此れで無理であるならば、別の言語の可能性があります。
No.1
- 回答日時:
こんばんは。
picture1と書いてありますが、C++CLIの方でしょうか?
LoadImage()APIを使用すれば、画像の読み込みと同時にリサイズ(
ストレッチ)も出来ます。
#ifndef __BITMAP_H__
#define __BITMAP_H__
#include<windows.h>
#pragma comment(lib, "gdi32.lib")
//C++用
inline HBITMAP WINAPI LoadMyImage(LPCWSTR lpwstrFileName, int iWidth, int iHeight)
{
HBITMAP hBmp = static_cast<HBITMAP>(::LoadImage(NULL, lpwstrFileName, IMAGE_BITMAP, iWidth, iHeight, LR_LOADFROMFILE | LR_CREATEDIBSECTION));
return hBmp;
}
//C++/CLI用
inline System::Drawing::Bitmap^ LoadMyImage(System::String^ sFileName, int iWidth, int iHeight)
{
using namespace System::Runtime::InteropServices;
//String^からLPCWSTRへ文字列変換
System::IntPtr iPtrUni = Marshal::StringToHGlobalUni(sFileName);
//ビットマップを読み込む
HBITMAP hBmp = ::LoadMyImage(static_cast<LPCWSTR>(iPtrUni.ToPointer()), iWidth, iHeight);
//変換に割り当てたメモリを消す
Marshal::FreeHGlobal(iPtrUni);
//HBITMAPを元にBitmapクラスを作成
System::Drawing::Bitmap^ bmp = System::Drawing::Bitmap::FromHbitmap(System::IntPtr(hBmp));
//HBITMAPを消去
::DeleteObject(hBmp);
return bmp;
}
#endif
使用する時(例えば、ダイアログからファイルを選択してロードする時)
private: System::Void 開くStripMenuItem1_Click(System::Object^ sender, System::EventArgs^ e)
{
//ファイルダイアログの準備
OpenFileDialog^ myDLG = gcnew OpenFileDialog();
myDLG->AddExtension = true;
myDLG->DefaultExt = "bmp";
myDLG->FileName = "*.bmp";
myDLG->ShowReadOnly = false;
myDLG->Filter = "ビットマップ(*.bmp) | *.bmp | jpeg(*.jpg;*.jpeg) | *.jpg;*.jpeg";
//決定された
if(myDLG->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
this->Text = myDLG->FileName;
//ビットマップの読み込み
pictureBox1->Image = ::LoadMyImage(this->Text, 200/*任意の横幅*/, 200/*任意の縦幅*/);
//ピクチャボックスを更新する
Invalidate();
}
}
こんばんわ^^
回答ありがとうございます。
CLIというのが何なのかよくわかりませんでしたが、おそらくエラーばかりでてしまうので違うものなのではないかと思います。
私が使っているのは、ビジュアルスタディオのCRL→フォームアプリケーションというものなのですが、このプログラムのどこかだけを使えばできるんでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- Photoshop(フォトショップ) ピクセルとモニターサイズについて 1 2022/11/02 17:18
- その他(AV機器・カメラ) 【大至急】写真加工に強い方、お願いします。 現在、自作のブックカバーをプリンパさんに依頼しています。 2 2023/06/07 21:30
- その他(悩み相談・人生相談) 画像の比率について。 部活動の公演のチケットを作成したいのですが、A4サイズいっぱいに印刷して6枚チ 2 2022/10/08 22:11
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- 画像編集・動画編集・音楽編集 画像ファイル作成について 2 2023/06/27 22:28
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- PDF パワポ及びPDFのデータ量について 3 2023/07/20 10:24
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pythonでgif画像が上手く作れない
-
【EXCEL VBA】ダブルクリックで...
-
Excel ユーザーフォームで表示...
-
【WPF】画像の切り替え
-
EXCEL VBA 複数のImageコントロ...
-
画像を二値化した後、黒の部分...
-
「using Windows」でエラーが出る
-
uwsc画像認識のあいまい判定に...
-
自作の地図をグーグルマップの...
-
Pythonのプログラム初心者の問題
-
vb.net 画像の透過について
-
UWSC 画像認識で条件分岐
-
VBAのユーザーフォームのイメー...
-
HTMLでサイトの模写をしていま...
-
DXライブラリの、マウスを使っ...
-
背景画像の繰り返しについて
-
C#のForm内に複数画像を繰り返...
-
OpenCV でのROIの指定方法について
-
jpgファイルの内容を比較したい...
-
動画像から平均画像を作成する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
こんなことてしますか??
-
【EXCEL VBA】ダブルクリックで...
-
Excelで画像URLを1つずつセル...
-
EXCEL VBA 複数のImageコントロ...
-
HTMLで画像をポップアップで表...
-
背景画像の繰り返しについて
-
Excel ユーザーフォームで表示...
-
gif 画像上の ボタンに リン...
-
VBA シート毎に画像挿入
-
jQuery . プログラミング 助け...
-
VBAのユーザーフォームのイメー...
-
jqueryスライダーを2段でスライ...
-
ホームページバナーを(画像が...
-
「using Windows」でエラーが出る
-
スマホでサイトの画像を長押し→...
-
【WPF】画像の切り替え
-
PowerPoint VBA で画像の鮮明度...
-
画像のピクセルデータの取得
-
UWSCの色判定
-
UWSCを使った画像認証マク...
おすすめ情報