パッケージ org.opengion.fukurou.util

# クラス QrcodeImage

java.lang.Object
java.awt.Component
org.opengion.fukurou.util.QrcodeImage

すべての実装されたインタフェース:
  `ImageObserver`, `MenuContainer`, `Serializable`

public class QrcodeImage extends Component
QrcodeImage は、３次元バーコードの QRコードイメージを生成する 独立したコンポーネントです。 ここでの使い方は、初期化時に、エンコードする文字列(120Byte以内)と、 出力ファイル名を指定して、Graphics に描画したQRコードイメージを JPEG 変換し、指定のファイルに上書き保存しています。 QRコード作成に、http://www.swetake.com/ の Qrcode クラスを使用しています。 これが、2004/11/7 ver.0.50beta9 とのことなので、動作チェック、および、 製品としての保証という意味では、まだ使えるレベルではありませんが、 コード計算さえバグっていなければ使えうる為、試験的導入致します。

関連項目:
  - 直列化された形式
導入されたバージョン:
  JDK5.0,

- ## ネストされたクラスの概要

  ネストされたクラス
  修飾子とタイプ
  クラス
  説明
  `static enum`
  `QrcodeImage.EncMode`
  エンコードモード ('N':数字モード 'A':英数字モード　'B':8bit byteモード)
  `static enum`
  `QrcodeImage.ErrCrct`
  エラー訂正レベル ('L','M','Q','H')

  ## クラスから継承されたネストされたクラス/インタフェース java.awt.Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final int`
  `DEF_VERSION`
  バージョン (1から40の整数。
  `static final String`
  `IMAGE_TYPE`
  出力イメージのタイプ(PNG/JPEG) 初期値:"PNG"
  `static final int`
  `MARGIN`
  セルのマージン 初期値:4
  `static final int`
  `PIXEL`
  １セル辺りの塗りつぶしピクセル 初期値:3

  ### クラスから継承されたフィールド java.awt.Component

  `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

  ### インタフェースから継承されたフィールド java.awt.image.ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `QrcodeImage()`

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `static int`
  `getMaxSize(int version, QrcodeImage.ErrCrct errCo, QrcodeImage.EncMode encMd)`
  最大サイズを取得します。
  `static int`
  `getVersion(QrcodeImage.ErrCrct errCo, QrcodeImage.EncMode encMd, int len)`
  バージョン情報を取得します。
  `void`
  `init(String qrData, String saveFile)`
  初期化メソッド エラー訂正レベル:M , マージン:4(セル分) , 塗りつぶしピクセル:3 エンコードモード:B(バイナリ) 、バージョン:5 , イメージのタイプ:PNG に初期化されます。
  `void`
  `init(String qrData, String saveFile, int version, QrcodeImage.EncMode encMd)`
  初期化メソッド エラー訂正レベル:M , マージン:4(セル分) , 塗りつぶしピクセル:3 イメージのタイプ:PNG に初期化されます。
  `void`
  `init(String qrData, String saveFile, int version, QrcodeImage.EncMode encMd, QrcodeImage.ErrCrct errCo, String imgType, int pixel, String txtEnc)`
  初期化メソッド。
  `static void`
  `main(String[] args)`
  メイン処理です。
  `void`
  `paint(Graphics gpx)`
  描画処理を行います。
  `static void`
  `printQcData()`
  内部データを標準出力へ出力します。
  `void`
  `saveImage()`
  描画処理を行います。

  ### クラスから継承されたメソッド java.awt.Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate`

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## フィールド詳細

  - ### DEF_VERSION

    public static final int DEF_VERSION
    バージョン (1から40の整数。0を設定すると自動設定になります。) 初期値:5
    関連項目:
      - 定数フィールド値

  - ### MARGIN

    public static final int MARGIN
    セルのマージン 初期値:4
    関連項目:
      - 定数フィールド値

  - ### PIXEL

    public static final int PIXEL
    １セル辺りの塗りつぶしピクセル 初期値:3
    関連項目:
      - 定数フィールド値

  - ### IMAGE_TYPE

    public static final String IMAGE_TYPE
    出力イメージのタイプ(PNG/JPEG) 初期値:"PNG"
    関連項目:
      - 定数フィールド値

- ## コンストラクタの詳細

  - ### QrcodeImage

    public QrcodeImage()

- ## メソッドの詳細

  - ### init

    public void init(String qrData, String saveFile)
    初期化メソッド エラー訂正レベル:M , マージン:4(セル分) , 塗りつぶしピクセル:3 エンコードモード:B(バイナリ) 、バージョン:5 , イメージのタイプ:PNG に初期化されます。
    パラメータ:
      `qrData` - エンコードする文字列(120Byte 以内)
      `saveFile` - 出力ファイル名
    変更履歴:
      5.7.1.1 (2013/12/13) VERSION チェックのために、VERSION ⇒ DEF_VERSION に変更します。, 7.2.3.0 (2020/04/10) byteモード時のテキスト文字エンコード。

  - ### init

    public void init(String qrData, String saveFile, int version, QrcodeImage.EncMode encMd)
    初期化メソッド エラー訂正レベル:M , マージン:4(セル分) , 塗りつぶしピクセル:3 イメージのタイプ:PNG に初期化されます。
    パラメータ:
      `qrData` - エンコードする文字列(120Byte 以内)
      `saveFile` - 出力ファイル名
      `version` - バージョン (1から40の整数。0を設定すると自動設定になります。)
      `encMd` - エンコードモード ('N':数字モード 'A':英数字モード　'B':8bit byteモード)
    変更履歴:
      7.2.3.0 (2020/04/10) byteモード時のテキスト文字エンコード。

  - ### init

    public void init(String qrData, String saveFile, int version, QrcodeImage.EncMode encMd, QrcodeImage.ErrCrct errCo, String imgType, int pixel, String txtEnc)
    初期化メソッド。
    パラメータ:
      `qrData` - エンコードする文字列(120Byte 以内)
      `saveFile` - 出力ファイル名
      `version` - バージョン (1から40の整数。0を設定すると自動設定になります。)
      `encMd` - エンコードモード('N':数字モード 'A':英数字モード　'B':8bit byteモード)
      `errCo` - エラー訂正レベル ('L','M','Q','H')
      `imgType` - イメージファイル形式(PNG/JPEG)
      `pixel` - １セル辺りの塗りつぶしピクセル
      `txtEnc` - １セル辺りの塗りつぶしピクセル
    変更履歴:
      7.2.3.0 (2020/04/10) textEncode byteモード時のテキスト文字エンコード追加

  - ### paint

    public void paint(Graphics gpx)
    描画処理を行います。
    オーバーライド:
      `paint` クラス内 `Component`
    パラメータ:
      `gpx` - Graphicsオブジェクト
    変更履歴:
      6.4.2.0 (2016/01/29) fukurou.util.StringUtil → fukurou.system.HybsConst に変更, 7.2.3.0 (2020/04/10) textEncode byteモード時のテキスト文字エンコード追加

  - ### saveImage

    public void saveImage()
    描画処理を行います。

  - ### main

    public static void main(String[] args)
    メイン処理です。 Usage: java org.opengion.fukurou.util.QrcodeImage Encode [SaevFile]
    パラメータ:
      `args` - 引数文字列配列

  - ### printQcData

    public static void printQcData()
    内部データを標準出力へ出力します。
    変更履歴:
      7.2.1.0 (2020/03/13) QrcodeImage 見直し。

  - ### getVersion

    public static int getVersion(QrcodeImage.ErrCrct errCo, QrcodeImage.EncMode encMd, int len)
    バージョン情報を取得します。
    パラメータ:
      `errCo` - エラー訂正レベル ('L','M','Q','H')
      `encMd` - エンコードモード ('N':数字モード 'A':英数字モード　'B':8bit byteモード)
      `len` - 対象範囲
    戻り値:
      バージョン情報

  - ### getMaxSize

    public static int getMaxSize(int version, QrcodeImage.ErrCrct errCo, QrcodeImage.EncMode encMd)
    最大サイズを取得します。
    パラメータ:
      `version` - バージョン情報
      `errCo` - エラー訂正レベル ('L','M','Q','H')
      `encMd` - エンコードモード ('N':数字モード 'A':英数字モード　'B':8bit byteモード)
    戻り値:
      最大サイズ