abc JPEG ライブラリマニュアル このマニュアルは、JPEG 画像を操作するライ ブラリの仕様について記載します。 Ver. 1.
ご注意 ● このソフトウェアおよびマニュアルの、一部または全部を無断で使用、複製することはできません。 ● このソフトウェアおよびマニュアルは、本製品の使用許諾契約書のもとでのみ使用することができます。 ● このソフトウェアおよびマニュアルを運用した結果の影響については、一切の責任を負いかねますのでご了 承ください。 ● このソフトウェアの仕様、およびマニュアルに記載されている事柄は、将来予告なしに変更することがありま す。 ● このマニュアルの著作権はカシオ計算機株式会社に帰属します。 ● 本書中に含まれている画面表示は、実際の画面とは若干異なる場合があります。予めご了承ください。 © 2011 カシオ計算機株式会社 Microsoft, MS, ActiveSync, Active Desktop, Outlook, Windows, Windows NT, および Windows ロゴは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。Microsoft 社の製品は、OEM 各社に、Microsoft Corporation の 100%出資子会
変更履歴 バージョン 0.90 1.00 1.01 1.04 変更日付 2005.11 2006.03 2007.08 2008.07 ページ 1 1 1 5 6 14~19 1.05 1.06 2008.11 2009.03 1.07 1.08 1.09 2009.07 2011.01 2011.08 1 3 5 7 12 14 15 - - 14-17 1.10 2011.
目次 概要···················································································································································································1 1. 2. 2.1 2.2 2.3 2.
1. 概要 JPEG ライブラリは、JPEG ファイルの作成や、JPEG データから BMP データを作成する機能を提供します。 Device Emulator でも、実機と同様に動作します。 対象機種 DT-5200 / DT-X7 / DT-9800 / DT-5300 / IT-300 / DT-X8 / IT-9000 開発環境 • • • • Microsoft Microsoft Microsoft Microsoft embedded Visual C++ Version 4.0 + SP4 Visual Studio.NET 2003 +SP1 Visual Studio 2005 + SP1 Visual Studio 2008 + SP1 提供ファイル 種別 ライブラリ本体 インポートライブラリ インクルードファイル ファイル名 概要 "¥Windows"フォルダにインストールされています リンクライブラリとして、プログラムにリンクしてください プログラムのソースファイルにインクルードしてください JpegCe.dll JpegCe.lib JpegCe.
2.
2.
2.
2.3 THUMBINFO サムネイルの情報を格納します。 typedef _thumbnail_info { BOOL bThumbEnable; DWORD dwWidth; DWORD dwHeight; DWORD dwReserved; } THUMBINFO; // サムネイルの有無を指定します // TRUE : サムネイル有 // FALSE: サムネイル無 // サムネイルの横幅を指定します // サムネイルの縦幅を指定します 2.
3.
3.
補足 JPGEncodeToFile 関数および JPGEncode 関数で指定する、画像データのフォーマットを以下に示し ます。 ■ RGB888 データ 1 ピクセルを B,G,R 各 1 byte( 8 bit )で表したデータフォーマットです。 画像の左上が先頭データとなります。このため、上下の向きが逆であるビットマップデータをエンコード する場合は、データを上下反転する必要があります。 データには縦・横ともにダミーピクセルを含むことができます。このため、ビットマップファイルのようにダ ミーデータを含んだデータもエンコードすることが出来ます(※)。 実データの横ピクセル数 (dwWidth) 左上のピクセル 有効データの横ピクセル数 (dwValidWidth) 画像データ B G R B G R B G R ダミー ピクセル B G R ダミー ピクセル …… B G R B 実データの縦ピクセル数 (dwHeight) 有効データの縦ピクセル数 (dwValidHeight) G R …… 1ピクセル = 1byte x 3 = 3byte (24b
■ YUV422 データ 2 ピクセルを、輝度(Y)1 byte×2、青の色差(U)1 byte、赤の色差(V)1 byte で表したデータフォーマッ トです。 先頭のデータが画像の左上になります。 データには縦・横ともにダミーピクセルを含むことができます。YUV422 フォーマットは横幅が偶数でな ければなりませんが、これにより横幅が奇数の画像データもエンコードすることができます。 左上のピクセル 実データの横ピクセル数 (dwWidth) 有効データの横ピクセル数 (dwValidWidth) 画像データ U Y1 V Y2 U Y1 V Y2 U Y1 V D U Y1 V D …… U Y1 V Y2 U Y1 V Y2 …… 実データの縦ピクセル数 (dwHeight) 2ピクセル = 1byte x 4 = 4byte (32bit) 有効データの縦ピクセル数 (dwValidHeight) U : 青の色差。2ピクセル共通。 Y1 : 1ピクセル目の輝度。 V : 赤の色差。2ピクセル共通。 Y2 : 2ピクセル目の輝度。 図 3.
3.
3.
3.
3.
3.
3.
3.
3.
4. サンプルプログラム BMP ファイルを JPEG ファイルにエンコードする、および JPEG ファイルを画面上に表示するサンプルコー ドを示します。 4.1 BMP ファイルを JPEG ファイルにエンコード 24bit BMP ファイルをエンコードし、JPEG ファイルとして保存するプログラムを以下に示します。 BOOL EncodeBmpFile( HWND hWnd) { HANDLE hFile; TCHAR tInputFile[] = TEXT("\\Test.bmp"); TCHAR tOutputFile[] = TEXT("\\Test.
// Create Preservation file hFile = CreateFile( tOutputFile, GENERIC_READ|GENERIC_WRITE, 0,NULL , CREATE_ALWAYS , FILE_ATTRIBUTE_NORMAL , NULL); // Setup JPEGINFO structure object JpegInfo.dwWidth = InfoHeader.biWidth; JpegInfo.dwHeight = InfoHeader.biHeight; JpegInfo.dwValidWidth = InfoHeader.biWidth; JpegInfo.dwValidHeight = InfoHeader.biHeight; JpegInfo.dwComponents = 3; JpegInfo.dwColorSpace = JPG_RGB; JpegInfo.dwQuality = 100; JpegInfo.
4.2 JPEG ファイルを画面上に表示 JPEG ファイルを読み込み、画面上に表示するプログラムを以下に示します。 このプログラムでは、DecodeJPEGFile 関数で取得した画像データをグローバル変数 g_BITMAP に格納し、 ウィンドウが WM_PAINT メッセージを受け取ったときに表示しています。 BITMAP g_Bitmap; int ShowBitmap( HWND, HDC, LPBITMAP bm ); BOOL DecodeJpegFile( HWND hWnd ) { HANDLE hFile; HANDLE hImage; TCHAR tInputFile[ ] = TEXT( "\\Test.
// .......... case WM_PAINT: hdc = BeginPaint( hWnd, &ps ); ShowBitmap( hWnd, hdc, &g_Bitmap ); EndPaint( hWnd, &ps ); break; } return FALSE; } int ShowBitmap( HWND { BITMAPINFOHEADER RECT double double int hWnd, HDC hDC, LPBITMAP bm ) InfoHeader; rec; width_tmp; height_tmp; ShowLine; // Makes the header of image InfoHeader.biSize InfoHeader.biWidth InfoHeader.biHeight InfoHeader.biPlanes InfoHeader.biBitCount InfoHeader.biCompression InfoHeader.biSizeImage InfoHeader.biXPelsPerMeter InfoHeader.
カシオ計算機お問い合わせ窓口 製品に関する最新情報 ●製品サポートサイト(カシオペア・ハンディターミナル) http://casio.