20.当サイト内に掲載の描画・画像に関するサンプルの紹介 |
1.当サイト(旧)内に掲載している描画・画像に関するサンプル 2.サンプル投稿用掲示板に掲載している描画・画像に関するサンプル 3.サンプル集に収録している未掲載の描画・画像に関するサンプルの紹介 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 7(32bit) /[ VB2010(SP1Rel) Framework 4.0 : VB2013(Update1) Framework 4.5 ]/ターゲットCPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 :こちらには画像の加工・画像の描画が主体となるサンプルを掲載しております、画像の表示が主体となるサンプルは、 :PictureBox コントロールの方に掲載しておりますのでそちらをご覧下さい。 このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.当サイト(旧)内に掲載している描画・画像に関するサンプル |
直線・四角形・楕円・三角形(多角形)を描画及び消去 PictureBox上で消える画像&描画・消えない画像&描画 PictureBoxに文字を描画してファイルに保存(画像を加工して保存・エラー回避) マウスのドラッグで範囲を選択し画像を取得してPictureBox2 に表示 |
2.サンプル投稿用掲示板に掲載している描画・画像に関するサンプル |
3.サンプル集に収録している未掲載の描画・画像に関するサンプルの紹介 |
マウスのドラッグで範囲を選択しデスクトップ画像等を取得する(31_Gra_05) (旧、SampleNo.151/308) 一旦デスクトップ等の指定の画面をピクチャーボックスに表示して、そのピクチャーボックス上で画像の取得範囲をマウスのドラッグで選択するようにしている 他にクリップボードに保存・ファイルに保存等もでき、マウスのドラッグでコントロールが移動できるようにもしています。 画像の上にマウスのドラッグで線を描画する(31_Gra_06) (旧、SampleNo.152) ピクチャーボックス上に表示してある画像の上にマウスのドラッグで線を描画・保存するサンプル マウス直下のカラー値を取得(31_Gra_07) (旧、SampleNo.153 / 440) 指定位置の色情報を取得及び設定。VB6.0 の時は、Point と PSet で簡単に取得・設定できたのですが、.NET では少し面倒になりました。 Win32 API 関数で取得する方法とFramework のSystem.Drawing.Bitmap クラスのメソッドを使っての取得・設定する方法を紹介しています。 画像ファイルを取得して縮小画像の一覧を表示(31_Gra_08) (旧、SampleNo.154) 1.ListView を使ってエクスプローラーの縮小画像の表示と同様のものを作成 2.縮小画像を選択すると、別ウィンドウに元のサイズで表示 3.回転・縮小・拡大表示もできます。 ちょっとしたアルバムのソフトになっています。 指定領域内を指定のカラーで塗りつぶし、ファイルに保存(194) 1.指定の色を指定の色に置き換える 2.指定の色のドット数を取得 3.描画した画像を保存する 指定のカラーを指定のカラーに変換する他(31_Gra_09) (旧、SampleNo.195/196) 画像の指定の色のドット数を取得する。Bitmap.LockBits メソッドを使ってBitmapのカラー情報をシステムメモリに読み込み高速に指定の色のドット数を取得している デジタルカメラ画像をセピア色に変換する2方法(31_Gra_10) (旧、SampleNo.223) グレースケールとセピア変換は、R.G.B 値に対する変換値が違うだけでコードは殆ど同じです。 画像の2値化変換(31_Gra_11) (旧、SampleNo.224) No.223 と同様に、Bitmap.LockBits メソッドを使ってBitmapのカラー情報をシステムメモリに読み込み各ドットのカラー情報を取得し変換している(消えない描画なので、保存もできます) 画像のネガティブ・ポジティブ(色を反転)変換3方法(31_Gra_12) (旧、SampleNo.225) 1.Win32 API のBitBlt を使っての画像のネガティブ・ポジティブ(色を反転)変換(消えない画像・保存可) 2.LockBitsを使って配列の個別データをネガティブ・ポジティブ(色を反転)変換(消えない画像・保存可) 3.ColorMatrix を使っての画像のネガティブ・ポジティブ(色を反転)変換(消える画像・保存不可) グレースケール変換(モノクロ表示)2方法(31_Gra_13) (旧、SampleNo.227) 1.LockBits でグレースケール(モノクロ表示)変換(消えない描画・保存できます) 2.ColorMatrix を使っての画像のグレースケール(モノクロ表示)変換 SampleNo.31_Gra_10 SampleNo.31_Gra_11 SampleNo.31_Gra_12 も同様の処理をしておりますので参考に(コードも殆ど同じです。) 同時に複数の色を入れ替えて画像を表示(31_Gra_14) (旧、SampleNo.226) 普通、白黒画像のような2色の画像で、白を黒に入れ替え、黒を白に入れ替えると白を黒に入れ替えた時点で画像が真っ黒になり、その後黒を白に入れ替えると真っ白になるように思うがこの場合はそれが起らない。(勿論一時退避する必要はありません。) バックカラーをグラデーションで塗りつぶす(31_Gra_15) (旧、SampleNo.228) 1.線形グラデーションの作成 2.パスグラデーションを使って円形の内部をグラデーションで塗潰す 3.パスグラデーションを使って多角形の内部をグラデーションで塗潰す 4.パスグラデーションを使ってフォームをグラデーションで塗潰す 画像ファイル(bmp・png ファイル)の指定の色を透明色に変換(31_Gra_16) (旧、SampleNo.350) BMPファイル及び PNG ファイルを読み込んでマウスのクリックで指定した色を透明色(Color.Transparent) に変換してファイルに保存するようにしたソフト仕立てのサンプルです。 画像ファイルの合成処理及び保存(31_Gra_17) (旧、SampleNo.353) 1.複数のファイルを使っての合成処理で、SNo.349 の中で使った処理の内該当部分だけを抜き出した物です。 2.元のファイルは、BMP/PNG 形式の物を使って合成用は SNo.350 を使って背景を透明にしたPNGファイルを使うと綺麗に仕上がります。 画像及び文字列を連続回転表示(31_Gra_18) (旧、SampleNo.108/305) 文字列の回転表示は作っていたのですが、画像は、90度毎の回転表示や鏡像表示が簡単にでき、連続して回転して画像を表示する要望もなかった事もあって作って いなかったのですが、今回サンプルを見直すに当たり作ってみました。 円グラフの作成及び円弧の描画方法色々(31_Gra_19) (旧、SampleNo.311) 1.原点0度(3時の位置)から1度づつ描画角度を右回りに増加させた円弧を描画 2.原点(12時の位置)から1度づつ描画角度を右回りに増加させた円弧を描画 3.原点(12時の位置)から1度づつ描画角度を減少させた円弧を描画 4.円弧の内部を塗りつぶす 5.2度の円弧を時計の秒針の動きのように描画 6.円弧の描画要領で簡単な円グラフを描画 7.乱数を使ってランダムな数値のデータを作成 8.12時の位置から120度の円弧を縁取りして描画 9.VB6.0 のQBColor 関数と同等の関数を作成 10.閉じたカーディナルスプライン(参考) 11.図形描画関係のメソッドの一覧(簡単な解説) MyCapture‐画面をキャプチャして加工するソフト(31_Gra_20) (旧、SampleNo.349) 私がホームページ上に掲載する画像を簡単に取得でき、必要箇所等の加工も一貫して作成できるようにと色々機能を追加してしまったもので、ちょっとしたソフトになっているかと思います。 アナログ時計(31_Gra_21) (旧、SampleNo.339) 掲示板の記事No:9336 2009/09/02 で 健 さんが投稿されたコードを元にエラー発生部分と記事No:9338 等で回答された部分だけを私が修正してサンプル投稿用掲示板への投稿用に確認作成したもので、【私的サンプル】とさせて頂きます。 ある点が指定の短径領域内にあるかどうかを判定する(31_Gra_22) (旧、SampleNo.383) Rectangle.Contains メソッド を使って、この Rectangle で定義された四角形領域内に、指定の点が含まれているかどうかを判断します。 イメージファイルの拡張子とイメージフォーマットのチェック(31_Gra_23) (旧、SampleNo.386) 1.イメージファイルの拡張子を取得 2.イメージファイルのフォーマットタイプを取得 3.上記両方の拡張子が同じかをチェック ライブカメラの画像(動画)を指定時間毎に取得・保存(31_Gra_24) (旧、SampleNo.375) WEB動画をJPEG等で静止画保存 - あやめ 10/05/13-18:59No.14674 の質問に答えるべく、VB6.0(SNo.564)で作成した物を.NETでも試した物です。 1.指定のURLのライブカメラの画像をWebBrowser に表示 2.上記の画像をキャプチャしてピクチャーボックスに表示 3.ピクチャーボックス上でトリミングした画像を表示・保存 4.上記を指定秒内で繰り返す。 5.但し、一度トリミングすれば、その位置(範囲)の画像が延々と取得 6.最新の指定枚数(指定時間)分だけ保存する フォルダー内の画像ファイルを DataGridView に一覧表示(31_Gra_25) (旧、SampleNo.470) SampleNo.31_Gra_08 の画像ファイルを取得して縮小画像の一覧を表示と同等の事をDataGridViewを使って表示してみました。 普通は、SampleNo.31_Gra_08 のように、ListView とImageList を使って表示するのですが、画像の一覧を取得するのに時間がかかるという欠点とメモリ消費が少ないといった利点があります。 そこで、DataGridViewのImageColumnを使用して表示するサンプルを試してみました。 読み込み表示だけなら、SampleNo.31_Gra_08 よりかなり早いのですが、メモリ消費が大きく、読み込みファイル数に制限があります。(使用できるメモリの量によって違う) そこで、素早く読み込めるようにとメモリ消費が少なくなるように工夫してみました。 |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |