C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: Image 縦横比固定のサイズ変更


(過去ログ 106 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■63233 / inTopicNo.1)  Image 縦横比固定のサイズ変更
  
□投稿者/ ポチ (4回)-(2012/08/08(Wed) 08:37:20)

分類:[C#] 

#VC#2010
ImageListにサイズが異なる画像が複数あるのですが
ListViewに表示させるために画像のサイズを統一させたいです。そこで、
ListViewに表示させる画像のサイズが120*160だとすると

元画像が70*160であれば120*160に拡大するのではなく、(70+余白)*160にしたいのです。
できませんか?宜しくおねがいします。
引用返信 編集キー/
■63234 / inTopicNo.2)  Re[1]: Image 縦横比固定のサイズ変更
□投稿者/ shu (19回)-(2012/08/08(Wed) 08:45:53)
No63233 (ポチ さん) に返信

120x160のImageを作成しそこに該当画像を描画するようにして
作成したImageをリストビューに追加してみてはどうでしょう?
引用返信 編集キー/
■63248 / inTopicNo.3)  Re[2]: Image 縦横比固定のサイズ変更
□投稿者/ ポチ (5回)-(2012/08/08(Wed) 12:02:55)
できませんでした!
引用返信 編集キー/
■63249 / inTopicNo.4)  Re[3]: Image 縦横比固定のサイズ変更
□投稿者/ shu (23回)-(2012/08/08(Wed) 12:39:23)
ListView1:LargeImageList=ImageList1, View=LargeIcon
ImageList1:ImageSize = (120, 160)

サンプルコード:

        Dim Folder As New IO.DirectoryInfo("C:\Users\Public\Pictures\Sample Pictures")
        Dim idx = 0
        For Each fl In Folder.GetFiles("*.jpg")
            Dim bmp As New Bitmap(120, 160)
            Dim bmpLoad = Bitmap.FromFile(fl.FullName)
            Dim g = Graphics.FromImage(bmp)
            g.Clear(Color.Yellow)                 '--- 分かりやすくするため背景を黄色で塗った
            g.DrawImage(bmpLoad, 0, 0, 120, 96)   '--- 縦横比を変えないで縮小(縦:横=4:5なので120の幅に対し96の高さとなる)
            ImageList1.Images.Add(bmp)
            ListView1.Items.Add(fl.Name).ImageIndex = idx
            idx += 1
            bmpLoad.Dispose()
        Next

引用返信 編集キー/
■63252 / inTopicNo.5)  Re[4]: Image 縦横比固定のサイズ変更
□投稿者/ ポチ (6回)-(2012/08/08(Wed) 14:33:34)
ホントーにすみませんが
VBはできません…

とりあえず、考えて後からやってみます
引用返信 編集キー/
■63259 / inTopicNo.6)  Re[5]: Image 縦横比固定のサイズ変更
□投稿者/ shu (26回)-(2012/08/08(Wed) 16:01:30)
No63252 (ポチ さん) に返信
> ホントーにすみませんが
> VBはできません…
>
> とりあえず、考えて後からやってみます
forループ自体は今回の問題と直接関係ないのでforの中身だけ変換。
Dim => var, New => new, As => = に置き換え + 末尾に;


var bmp = new Bitmap(120, 160);
var bmpLoad = Bitmap.FromFile(fl.FullName);
var g = Graphics.FromImage(bmp);
g.Clear(Color.Yellow);
g.DrawImage(bmpLoad, 0, 0, 120, 96);
imageList1.Images.Add(bmp);
listView1.Items.Add(fl.Name).ImageIndex = idx;
idx += 1; //-- もちろん idx++でよい。
bmpLoad.Dispose();

引用返信 編集キー/
■63264 / inTopicNo.7)  Re[6]: Image 縦横比固定のサイズ変更
□投稿者/ ポチ (7回)-(2012/08/08(Wed) 17:16:17)
おっしゃった通りやったらできました^ ^
ありがとうございました!
引用返信 編集キー/
■63266 / inTopicNo.8)  Re[7]: Image 縦横比固定のサイズ変更
□投稿者/ これはすごい (1回)-(2012/08/08(Wed) 17:28:49)
No63248 (ポチ さん) に返信
> できませんでした!

No63252 (ポチ さん) に返信
> ホントーにすみませんが
> VBはできません…
>
> とりあえず、考えて後からやってみます

No63264 (ポチ さん) に返信
> おっしゃった通りやったらできました^ ^
> ありがとうございました!

今後は丸投げで申し訳ないけどコピペで動くソースを張り付けてください。
と書くといいですよ。
解決済み
引用返信 編集キー/
■63267 / inTopicNo.9)  Re[8]: Image 縦横比固定のサイズ変更
□投稿者/ ポチ (8回)-(2012/08/08(Wed) 20:09:19)
>>これはすごい
そうします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -