- ベストアンサー
ACCESS VBA 画像ファイルの大きさ(幅x高さ)を取得したい
KenKen_SPの回答
- KenKen_SP
- ベストアンサー率62% (785/1258)
方法はいろいろあると思いますけど、たとえば LoadPicture 関数を使った方法 Dim pic As stdole.IPictureDisp Set pic = LoadPicture("C:\test.tif") でオブジェクト変数 pic の Width、Height プロパティーで画像の幅や高さを 調べることができます。 ただし、そのままでは HIMETRIC という単位なので、PIXEL に変換してやる 必要がありますよね。VBA の場合、Screen オブジェクトが利用できませんので、 下記のような単位変換のユーザー定義関数を用意することになります。 ' 標準モジュール Private Declare Function GetDC Lib "user32.dll" ( _ ByVal hWnd As Long) As Long Private Declare Function ReleaseDC Lib "user32.dll" ( _ ByVal hWnd As Long, _ ByVal hdc As Long) As Long Private Declare Function GetDeviceCaps Lib "gdi32.dll" ( _ ByVal hdc As Long, _ ByVal nIndex As Long) As Long Private Const LOGPIXELSX As Long = 88 Private Const LOGPIXELSY As Long = 90 ' Himetric --> Pixel 変換関数 Public Function Himetric2PixelX(ByVal x As Long) As Long Static m As Single Dim hdc As OLE_HANDLE If m = 0 Then hdc = GetDC(0&) m = GetDeviceCaps(hdc, LOGPIXELSX) / 2540 Call ReleaseDC(0&, hdc) End If Himetric2PixelX = CLng(x * m) End Function Public Function Himetric2PixelY(ByVal y As Long) As Long Static m As Single Dim hdc As OLE_HANDLE If m = 0 Then hdc = GetDC(0&) m = GetDeviceCaps(hdc, LOGPIXELSY) / 2540 Call ReleaseDC(0&, hdc) End If Himetric2PixelY = CLng(y * m) End Function このような関数を用意すればあとは、下記のようなソースでピクセルが求まる と思います。 Sub sample() Dim pic As stdole.IPictureDisp Dim x As Long Dim y As Long Set pic = LoadPicture("C:\test.tif") x = Himetric2PixelX(pic.Width) y = Himetric2PixelY(pic.Height) MsgBox CStr(x) & " x " & CStr(y) & " pix" End Sub なお、LoadPicture 関数で対応できるファーマットは bmp, jpg, emf, wmf, gif, ico などだったと思います。
関連するQ&A
- ACCESS VBA TIFF形式のファイルの解像度を取得したいです。
ACCESS VBA TIFF形式のファイルの解像度を取得したいです。 以前の書き込みに幅×高さのピクセル値の求め方がかかれてあり、理解しました。 用紙サイズの判別に上記の 幅x高さと解像度を利用しようと考えています。 よろしくお願いします。
- 締切済み
- Visual Basic
- ExcelVBAでファイルのプロパティを取得
こんにちは ExcelVBAでファイルのプロパティを取得する方法をお伺いします。 更新日時やファイルサイズの取得についてはいくつか参考にするサイトが見つかりました。 今回知りたいのはJPEGなど画像ファイルの縦横のピクセル数です。ファイルのプロパティとしては「大きさ ○○×△△」「横 ○○ピクセル」「高さ △△ピクセル」と表示される項目です。 これをExcelVBAで取得する方法をお教えください。
- ベストアンサー
- Visual Basic
- 640x480 ピクセル内でUPロード用のファイルの作成について
JPEG形式で640x480 ピクセル内でUPロード用の画像ファイルの作成するようにと指定があるのですが、カタログからスキャナーで画像ファイルを作ろうと思うのですが640x480ピクセル内と言う事が具体的にどうすれば良いのか当方素人のため解りません。どなたかお教え願えませんか? スキャナーはHPの複合機でソフトは付属のHP Image Zoneで出来ないものか?と考えていますが。 尚、WINDOWS XP のノートです。
- ベストアンサー
- Windows XP
- ASP.NETで画像の高さと幅を取得
ASP.NETでWebページを作成しています。 画像ファイルを読み込んで表示させ、100%、50%・・・ 画像のサイズを拡大縮小させたいと思ってます。 読み込んだ際の画像の高さ幅を元に50%なら1/2と言う 感じで処理できるかなと思っていたのですが、 読み込んだ画像のサイズ(高さ幅)が取得できません。 取得する方法を教えてください。Imageコントロールに そのまま画像URLをセットし表示させてもHeight、Widthが取得できません。 別な方法で画像の表示サイズを変更できるのでしょうか。
- 締切済み
- Microsoft ASP
- SAIでスキャナからスキャンした画像について
絵を描くためにSAIを使うことにしたのですが。いざ使おうとしたところスキャナからスキャンした画像をつかうと「作成・リサイズしようとしているキャンバス(-604045312X268452608,実消費ピクセル数997913K)のサイズが設定された最大サイズ(8208X8208,実消費ピクセル数66049K)を超えています。」というのの後に「キャンバスの読み込みに失敗しました」などというエラーがでます。どうしたらスキャンした画像をつかえるようにできるのでしょうか?教えてほしいです。(-ω-;)スキャナはPM-A870 スキャンのさい使ってるソフトはFILE MANAGER1です。
- 締切済み
- フリーウェア・フリーソフト
- VB6でのファイルサイズ取得について
VB6ではFileSystemObjectでFileオブジェクトを生成して、 Sizeプロパティからファイルサイズ(バイト)を取得出来ますが、 単純にシーケンシャル入力モードで開いたファイルから、 各行を読み込み、その行の文字列のバイト数を都度加算して行けば 最終的なファイルサイズ(バイト)が取得出来ると考えたのですが、 実際同じ値になりません。 例えば、Sizeプロパティでは、35023バイトのファイルが、 文字列のバイト数を「LenB」で都度加算した場合、 Line Input文で38726バイト、Input文では19363バイトになります。 文字列のバイト数を「Len」で都度加算した場合、 Line Input文で19363バイト、Input文では19361バイトになります。 ファイルは単なるテキストデータです。 なぜ差が出るかの原因を御存知の方教えて頂けませんか? また同じ値になる方法はあるのでしょうか? よろしくお願いします。
- ベストアンサー
- Visual Basic
- Tiff形式のファイルが一つだけ見れない。
Tiff形式のファイルが一つだけ見れない。 Windows XPを使用しています。 A1の図面を、スキャナでとったTiff形式のデータが3つあります。 ファイルのサイズがそれぞれ(1)3.6MB (2)4.5MB (3)2.1MBです。 (1)と(3)はXPのビューアーで見れるのですが、(2)のファイルだけ「表示することができません」とでてきてしまいます。 ☆試してみたこと☆ スキャンしなおし→× photoshopで開く→× リサイズ→できなかった。 (フリーソフトでリサイズしようとしましたが(1)~(3)まで、すべて形式が未対応でできませんでした。TIFFも変換できるソフトだったのに何故でしょう?別のソフトをダウンロードして試してもダメでした。TIFFにもいろんな形式があるんでしょうか??) 画像の変換などにあまり詳しくないので、どうしていいかわかりません。 ちなみに、A1をスキャンできる機械が一つしかないのですが、TIFF形式にしかできないタイプのものです。 どなかたわかるかた いらっしゃいましたら回答願います。
- ベストアンサー
- その他(ソフトウェア)
- A5(タテ)のファイルで背幅の狭いものを探しています!
A5サイズの分厚い問題集を分冊し、2穴パンチで穴開けしたものを持ち運びたいと考えています。 A5サイズのファイルやバインダー自体、数が少なく、いくつかあるものでもリングの径が大きく、背幅が広いものしか見つかりません。 ファイル自体の背幅が広いとかさ張り、わざわざ問題集を分冊した意味がなくなってしまうので、 A5タテ型サイズ、2穴のものでなるべくスリムなファイルを探しています。 リングがあるのである程度かさ張ってしまうのは仕方ないことですが、 径が小さければ背幅も小さくできると思いますので質問させて頂きました。 ファイルのように中を保護できる表紙があり、A5タテ型2穴の冊子を通せるスリムなノートのような製品はないでしょうか。 お知恵を拝借できればと思います。 どうぞ宜しくお願い致します。
- 締切済み
- その他(生活・暮らし)
- photoshop切り抜きツールのサイズがおかしい?!
photoshop7.0です。 スキャナした画像のふちの部分切り抜き処理した後、そのピクセルサイズが幅3443pixel 高さ4658pixelです。これを他の画像とのサイズに揃えるために切り抜きツールでサイズを幅3239pixel 高さ4662pixelの固定サイズで切り抜く場合、高さが4658pixelで足りないのですがそのまま切り取りをしたら幅3239pixel 高さ4662pixelサイズの画像ファイルになっていました。高さが増えたのでしょうか? どういう意味でしょうか?!
- 締切済み
- グラフィックソフト
- パールのファイルサイズ取得について
パールのファイルサイズ取得について こんにちは。 パールのソースで困っているので、どなたか教えてください。 1つめのファイルサイズと、2つ目のファイルサイズを取得して 比較するソースを書いたのですが、ファイルが0byteであった場合、 変数に入れるところで失敗するのでしょうか? また、変数に入れるところではうまくいったとしても、比較で 失敗するのでしょうか? $size_a = -s $filea; $size_b = -s $fileb; if($size_a == $size_b){ ### メッセージを出力 }
- ベストアンサー
- Perl