
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
いまいち何がやりたいのか私が正しく理解できている自身が無いのですが...
Image1.Picture.Width とか Image1.Picture.Height などで画像のサイズは
求められますよ。
単位を Pixel でということなら ScaleX、ScaleY メソッドで単位変換を
行います。
With Image1
.Picture = LoadPicture("C:\Sample.bmp")
x = Int(ScaleX(.Picture.Width, vbHimetric, vbPixels))
y = Int(ScaleY(.Picture.Height, vbHimetric, vbPixels))
End With
MsgBox CStr(x) & " × " & CStr(y) & "pix"
こんな感じで Image コントロールの Picture のサイズを Pixel で求める
ことができます。ここまでで、当初ご質問のサイズ取得は解決しませんか?
これを使って2倍に拡大して PaintPicture したいなら、
With Picture1
.AutoRedraw = True
’Picture1 で指定する単位も Pixel にする
.ScaleMode = vbPixels
.PaintPicture Image1.Picture, 0, 0, x * 2, y * 2, 0, 0, x, y
End With
とか。。こういうことではないのでしょうか?
ありがとうございます。
ようやく、Picture.Width/HeightとParent.ScaleWidth/ScaleHeightの違いが理解できました。大変勉強になりました。
元々VB4で作成されたフォームのせいか、PaintPictureする際にもPictureに全画面表示されない等悩みましたが、昨日無事プログラムの改造が完了しました。
連絡遅くなり申し訳ありません。本当に助かりました。
また、よろしくお願いします。
No.1
- 回答日時:
VB のバージョンは?
# 最初から書いた方が良いですよ。
この記事が参考になりませんか?
VB6と .Net 両方のサンプルコードがあります。
http://www.microsoft.com/japan/msdn/vbasic/migra …
失礼しました。
OSは、WindowsXP SP2
VBは、VB6.0
で開発しています。
上記HP紹介いただき、ありがとうございます。
ただ、今回のケースの場合、イメージデータサイズが異なるため、イメージA(400ピクセル×300ピクセル)の全体表示ができるサイズのImageにイメージB(800×400)を読み込むとPaintPictureでは左上1/4しか表示されません。
ファイル名ではイメージAか、イメージBか判断できないため困っています。助けてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
多量のSUMIF式を軽くしたい
-
【エクセル】測定時間がバラバ...
-
[エクセル]データの個数が2番目...
-
VBAで「"」[']をエスケープする...
-
MATLAB:データの総数を数えるに...
-
LoadPictureしたイメージデータ...
-
VBA 判定文で理解できない結果...
-
レコードセットのデータを1行...
-
SDカード メーカーや値段によ...
-
ブレーカー落ちで壊れたりしな...
-
二分探索の平均探索回数
-
エクセルで2つの時系列のデー...
-
一つのTeratermのマクロで複数...
-
UserForm1.Showでエラーになり...
-
ExcelVBAでPDFを閉じるソース
-
String""から型'Double'への変...
-
エクセルで特定の列が0表示の場...
-
お助けください!VBAのファイル...
-
End Sub が必要です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
<VB>String→Object
-
二分探索の平均探索回数
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
ユーザーフォームのテキストボ...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
パースとはなんですか?
-
C# ソケット通信でデータ受信時...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
カンマからスラッシュに
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
おすすめ情報