• ベストアンサー

VB4.0で画像のサムネイル方法

VB4.0でデジタルカメラで撮った写真のサムネイルを作りたい。 例えば、800×600 100K の画像をwidth="80" height="60" の指定で縮小表示はされますが、 100k の画像を読込まなくては表示されません、 そこで 80×60 1k~2k くらいのサムネイルされた画像をVB4.0で作る方法をご存知の方、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • qwerty
  • ベストアンサー率43% (20/46)
回答No.1

こんばんは。 ビットマップのサムネイルでよろしければこんな方法があります。 サイズを800x600固定したピクチャボックス(Picture1)を貼り付け、 AutoRedraw=Trueにします。 strWorkDirに設定したパスにある、サポートされている形式の画像ファイルを strFileNameという変数に読みこみ、 Picture1.PaintPicture _ LoadPicture(strWorkDir & "\" & strFileName), _ 0, 0, Picture1.Width, Picture1.Height として、ピクチャボックスに描画します。 で、読みこんだイメージをビットマップに変換します。 SavePicture Picture1.Image, _ strWorkDir & "\tn-" & strFileName & ".bmp" Picture1.VisibleをFalseにしても動作しますので、 プログレスかなにかをつけておいて実行すれば、 ちょっと見栄えがよくなりますでしょうか。 JPeg画像にサムネイル情報を付加されたいのであれば、Exif形式の フォーマットなどをご理解されなくてはいけないでしょうし、 それをVBでおやりになるにはちょっと大変だと思います。 LeadToolsというコントロールも市販されているようですが、 お金がかかりますし、これではVBでやるという感覚が薄れますよね。 VB5.0Proで確認しましたが、おそらく4.0でも動作すると思います。 #あまりキレイな結果ではありませんでしたが・・・。 ご参考にしていただければ幸いです。

tinu2000
質問者

お礼

ありがとうございました、VBでは出来ないのかな? と不安でした、待ってて良かった(・_・、) 難しそうですが、なんとなく分ります、一行一行勉強しながらやって見ます。 急に目の前が開けた感じです。ありがとうございました。 締切りをもう少し待ってみます。

その他の回答 (1)

  • qwerty
  • ベストアンサー率43% (20/46)
回答No.2

おはようございます。 下のコメントの訂正です。 > サイズを800x600固定したピクチャボックス(Picture1)を貼り付け、 お分かりだと思うのですが、80x60です(汗) スミマセンでした。

tinu2000
質問者

お礼

今頃なんですが(汗)・・・、自分のマイページの中の、お礼コメント率が98%って何だろうと、ずーと思っていました。ここのお礼が無かったんですね。大変失礼しました。qwertyさんのおかげで、サムネイルを作ることが出来て、ベクターでフリーソフトを公開しました。16年も前の事です。さすがにVB4ですので、そのフリーソフトも今は公開中止にしています。本当にありがとうございました。

関連するQ&A

  • VB 特定フォルダ内の画像のサムネイル表示

    VB 特定フォルダ内の画像のサムネイル表示 VisualBasic2008 ExpressEditionにてVBを勉強中の者です。 現在作成しようとしているものは指定したフォルダ内の画像を サムネイル表示し、サムネイルの画像をダブルクリックしたら 拡大表示するものです。 はじめPictureBoxを20個並べて用意してやっていたのですが、 指定されたフォルダ内の画像の数が10枚~50枚を超える場合も あり、ファイル数に応じて動的にサムネイルを作成・表示する 方法がないかと思いまして質問しました。 同じような質問をgoogle等で調べて見ましたが具体的にどうする のかわかりませんでした。 よろしくお願いします。

  • サムネイル画像を綺麗に表示したい。

    ネットショップページを作成しています。 サーバーに保存された商品画像をウェブページ上で綺麗にサムネイル表示(縮小表示)をさせたいのですが、 <img src="画像名" width="横" height="縦"> とHTMLタグで縮小表示させると画像が荒くなってしまい困っています。 画像数が多く、小さいサイズの画像を保存しなおして、 サーバーにアップして表示するのは避けたいと考えています。 (サーバーの容量も小さく。。。) どうしたら良いか教えていただけますか?

  • ドリームウィバー8(Dreamweaver8)で簡単にサムネイル指定

    ドリームウィバー8でサムネイル画像を作成する方法は? 現在、次の様な手順でサムネイル画像を作ってます。 469px × 423pxの画像を幅300pxのサムネイル表示にして、右クリックで拡大表示させたいとき・・・ 1.画像を貼り付ける(画像の説明HTMLソース) <img src="http://○○○○○○.jpg" width="469" height="423" alt="画像の説明" /> 2.サムネイル表示用のHTMLタグを手入力する つまり、1番のHTMLソースを間に挟む <a href="http://○○○○○○.jpg" target="blank">画像の説明HTMLソース</a> 3.サムネイルの大きさを計算する。 サムネイル幅を300px。元画像の大きさが469pxなので 300÷469=0.63 たて横同じ比率で縮小したいので縦に同じ比率を掛ける 423×0.63=266.49 4.HTMLソースの幅と高さをそれぞれwidth="300" height="266"に修正 完成HTMLソース <a href="http://○○○○○○.jpg" target="blank"> width="469" height="423" alt="画像の説明" /></a> この手順どう考えてもめんどうだと思います。ドリームウィバー8(Dreamweaver8)で簡単に出来るのではないかと調べているのですが、なかなか見つかりません。どなたか良い方法をご存知でしたら教えてください

    • ベストアンサー
    • HTML
  • サムネイル画像のサイズ変更

    windowsXPでフォルダの中の多数の写真ファイル(jpg)を閲覧するとき、表示方法を縮小版にしています。 サムネイル画像が並んで表示されていますので目的の画像を探すのに便利なのですが、私にとってはサムネイル画像のサイズがちょっと小さいのです。 縮小版(サムネイル画像)のサイズを変更する事は出来ないでしょうか?

  • サムネイル画像の色数が少ない?

    VB2008のListViewにサムネイル画像を表示させています。 元になったソースはこちらで、ほぼ変更無く使っています。 http://www.atmarkit.co.jp/fdotnet/dotnettips/336listviewimage/listviewimage.html 目的通りサムネイルはできるのですが、その画像はあまりいいものではありません。 見た感じでは「16色」または「256色」ぐらいのためグラデーションの掛かった写真などは無残な状態になっています。 「高品質なサムネイルを作る」という記事を元に改造してみましたが、状況は変わらず。 http://www.atmarkit.co.jp/fdotnet/dotnettips/023resize/resize.html 品質というより、色が足りないからだと思います。 ビットマップを作成するときに色数を指定するのかと思って、ネットで検索したのですが、見つけることができませんでした。 原因をご存知でしたら教えていただけないでしょうか。 よろしくお願いします。

  • VB6.0での画像縮小版表示

    VB6.0での画像縮小版表示 こんにちは エクスプローラでファイル一覧表示するとき画像ファイルの縮小版表示が出来ます。 これと同じようなことをVB6.0で行おうとしました。 例えばファイルが10個あったら10個並べて表示します。 Imageを使いサイズを調整して出来ました。 しかし、問題がありました。メモリーを大量に消費します。 このためメモリーの少ないPCだと極端に遅くなります。 エクスプローラで縮小版表示すると遅くないです。 ということは良い方法があるのではないか、自分のやり方が悪いのではないかと思います。 良い方法を教えていただけませんか。 今のやり方 MotoH = ImgSum(Cunt).Height MotoW = ImgSum(Cunt).Width ImgSum(Cunt).Picture = LoadPicture("Fileのフルパス名") Hsize = ImgSum(Cunt).Height Wsize = ImgSum(Cunt).Width SyukusyaH = MotoH / Hsize SyukusyaW = MotoW / Wsize If SyukusyaH < SyukusyaW Then Syukusya = SyukusyaH Else Syukusya = SyukusyaW End If ImgSum(Cunt).Height = Hsize * Syukusya mgSum(Cunt).Width = Wsize * Syukusya ImgSum(Cunt).Stretch = True 要は読み込んだ画像を用意したイメージのサイズに合わせて表示しています。 よろしくお願いいたします。

  • VB6でサムネイル表示

    お世話になります 環境はWin2K+VB6です。 タイトル通りなんですが、データベースに格納した画像またはフォルダにあるjpgのサムネイルを表示するにはどうすればよいのでしょうか? よろしくお願いします。

  • サムネイル画像の表示途中でそのサムネイル画像をクリックすると後から表示されるサムネイルが表示されない。

    winXP PRO IE6.0SP1です。 とあるHPを作成していますが、サムネイル画像(約100画像)をクリックすると別ウィンドウが出る様にしています。 サムネイルが全部表示される前にクリックすると小窓が出て画像は表示されますが、そこから後に出るサムネイルが表示されずフリーズしてしまいます。 <a href="javascript:void(0);" onclick="window.open('./******/***.jpg','win1','width=400,height=400');" menubar=no toolbar=no locaction=no status=no><img src="./small/***.jpg" height=50 border=0></a> 他のPCで確認しても同じ状態です。 サムネイル画像が出ている途中でその画像をクリックしてもフリーズしない方法の解除方法はありますでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • サムネイル画像が表示されない

    以前質問しましたがもう一度お願いします。 HPビルダー7 でサムネイル画像の大きい画像がネット上で表示されません。(プレビューでは表示されます。)ISPのぷららに聞くとアップロードされてないらしいのですが、ソフトの問題なのでそれ以上答えてくれません。ちなみに、HTMLソースは <TD align="center" valign="middle" width="128" height="128"><A href="IMG_0597.JPG"><IMG src="IMG_0597_thumb.JPG" width="128" height="96" border="1"></A></TD> です。なぜ、小さい画像をクリックしても大きい画像が表示されないか分かりません。なにかヒントでもいいですからお願いします。

  • サムネイル画像を分離・保存する方法

    画像ファイル(JPG)を含んだフォルダをエクスプローラ(XP)上で「縮小版」表示にすると 各画像ごとにサムネイル画像が表示されますが、 ここでサムネイル画像のみを残して、画像ファイルを消去する方法を教えて下さい。 バッチ処理ができるとさらに助かります。 Vix とか IrfanView でサムネイル画像を作成する以外の方法を探しております。