cvj2.img
クラス ImageUtil

java.lang.Object
  上位を拡張 cvj2.img.ImageUtil

public class ImageUtil
extends java.lang.Object

画像のツール


メソッドの概要
static java.awt.Rectangle calcImageCenterRect(java.awt.Dimension imgSize, java.awt.Rectangle targetRect)
          画面の中心に画像を表示する時の場所を計算
static java.awt.Rectangle calcImageFitRect(java.awt.Dimension imgSize, java.awt.Rectangle targetRect)
          アスペクト比を保った画像変換サイズ計算
static java.awt.Dimension calcImageFitSize(java.awt.Dimension imgSize, java.awt.Dimension targetSize)
          アスペクト比を保った画像変換サイズ計算
static java.awt.Dimension calcImageFitSize(int imgX, int imgY, int targetX, int targetY)
          アスペクト比を保った画像変換サイズ計算
static java.lang.String getBufferedImageTypeString(int type)
          BufferedImage の type の名前を取得
static java.awt.Point getImageDispLocation(java.awt.Dimension imgSize, java.awt.Dimension displaySize, java.awt.geom.Point2D.Double imgLocation)
          画像描画位置の計算
static boolean isImgFileName(java.lang.String name)
          画像ファイルかどうかを調べる
static java.awt.Dimension readImageInfo(java.io.InputStream in)
          ファイルから画像サイズを取得する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

isImgFileName

public static boolean isImgFileName(java.lang.String name)
画像ファイルかどうかを調べる

戻り値:
画像ファイルの拡張子を持つファイルなら、true

getBufferedImageTypeString

public static java.lang.String getBufferedImageTypeString(int type)
BufferedImage の type の名前を取得


readImageInfo

public static java.awt.Dimension readImageInfo(java.io.InputStream in)
ファイルから画像サイズを取得する。
 ※) ConcurrentModificationException が発生したので、synchronized にする
 
 java.util.ConcurrentModificationException: null
   at java.util.Vector$Itr.checkForComodification(Vector.java:1156)
   at java.util.Vector$Itr.next(Vector.java:1133)
   at sun.java2d.cmm.ProfileDeferralMgr.activateProfiles(ProfileDeferralMgr.java:93)
   at java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:775)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.setImageData(JPEGImageReader.java:598)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native Method)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:550)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:295)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:427)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:543)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.getWidth(JPEGImageReader.java:651)
   at cvj2.img.ImageUtil.readImageInfo(ImageUtil.java:83)
   at cvj2.app.file.imgload.BackgroundImageLoaderTask.getImageUseMemory(BackgroundImageLoaderTask.java:313)
   at cvj2.app.file.imgload.BackgroundImageLoaderTask.getNecessaryWorkMemory(BackgroundImageLoaderTask.java:266)
   at cvj2.app.file.imgload.BackgroundImageLoaderTask.load(BackgroundImageLoaderTask.java:127)
   at cvj2.app.file.imgload.BackgroundImageLoaderTask.run(BackgroundImageLoaderTask.java:91)
   at cvj2.app.file.imgload.BackgroundImageLoaderThread.run(BackgroundImageLoaderThread.java:39)
   


calcImageCenterRect

public static java.awt.Rectangle calcImageCenterRect(java.awt.Dimension imgSize,
                                                     java.awt.Rectangle targetRect)
画面の中心に画像を表示する時の場所を計算

パラメータ:
imgSize - 画像サイズ
targetRect - 画面位置

calcImageFitRect

public static java.awt.Rectangle calcImageFitRect(java.awt.Dimension imgSize,
                                                  java.awt.Rectangle targetRect)
アスペクト比を保った画像変換サイズ計算

パラメータ:
imgSize - 画像サイズ
targetRect - 画面位置

calcImageFitSize

public static java.awt.Dimension calcImageFitSize(int imgX,
                                                  int imgY,
                                                  int targetX,
                                                  int targetY)
アスペクト比を保った画像変換サイズ計算


calcImageFitSize

public static java.awt.Dimension calcImageFitSize(java.awt.Dimension imgSize,
                                                  java.awt.Dimension targetSize)
アスペクト比を保った画像変換サイズ計算

パラメータ:
imgSize - 画像サイズ
targetSize - 画面サイズ

getImageDispLocation

public static java.awt.Point getImageDispLocation(java.awt.Dimension imgSize,
                                                  java.awt.Dimension displaySize,
                                                  java.awt.geom.Point2D.Double imgLocation)
画像描画位置の計算

パラメータ:
imgLocation - -1.0 から 1.0 以下の値

   ※) 以下のような関係
                  |<---------------画面--------------->|
                              |<--(0.0)-->|                                                小さい画像の場合
                              |<--(1.0)-->|                                                小さい画像の場合
                              |<-(-1.0)-->|                                                小さい画像の場合
         |<---------------------- (0.0) ------------------------>|                         大きい画像の中央が表示されている場合
                  |<------------------------------ (1.0) ------------------------------>|  大きい画像の左端が表示されている場合
 |<----------------------- (-1.0) -------------------->|                                   大きい画像の右端が表示されている場合
 
戻り値:
画像の左上の表示位置