画像圧縮
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_img_shrink2( FHANDLE hsrc, FHANDLE hdst, int rmag_x, int rmag_y, int mode ) |
Visual Basic |
---|
Public Shared Function fnFIE_img_shrink2 ( hsrc As FHANDLE, hdst As FHANDLE, rmag_x As Integer, rmag_y As Integer, mode As Integer ) As Integer |
Parameters
- hsrc
- Type: fvalgcli..::..FHANDLE
入力画像 ( type: bin, uc8, s16, us16, double )
- hdst
- Type: fvalgcli..::..FHANDLE
出力画像 ( type: bin, uc8, s16, us16, double )
- rmag_x
- Type: System..::..Int32
水平方向圧縮率. ( 1 以上 かつ 入力画像幅 以下 )
- rmag_y
- Type: System..::..Int32
垂直方向圧縮率. ( 1 以上 かつ 入力画像高さ 以下 )
- mode
- Type: System..::..Int32
圧縮モード. [0:平均値、1:合計値、2:最大値、3:最小値、4:中央値、5:最頻値、6:ランク1/4、7:ランク3/4]
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_INVALID_IMAGE | 不正な画像オブジェクトが渡された |
F_ERR_INVALID_PARAM | パラメータ異常 |
F_ERR_NOMEMORY | メモリ不足エラー |
F_ERR_NO_LICENCE | ライセンスエラー |
Examples
C# | Copy |
---|---|
using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace TC { public partial class FIE { /// <summary> /// /// </summary> [FvPluginExecute] public void fnFIE_img_shrink2() { int status = (int)f_err.F_ERR_NONE; FHANDLE hsrc = FHANDLE.Zero; // 入力画像ハンドル. FHANDLE hdst = FHANDLE.Zero; // 出力画像ハンドル. const int rmag_x = 2; // 圧縮率. const int rmag_y = 2; // 圧縮率. try { // 入力画像ファイルのロード. api.fnFIE_load_bmp(TestImageDir + "/testdata/lena256.bmp", ref hsrc, f_color_img_type.F_COLOR_IMG_TYPE_UC8); // 出力画像の確保. hdst = api.fnFIE_img_root_alloc( (int)f_imgtype.F_IMG_UC8, 1, api.fnFIE_img_get_width(hsrc), api.fnFIE_img_get_height(hsrc) ); api.fnFIE_img_clear(hdst, 128.0); // 処理の実行. for(int mode = 0; mode<6 ; mode++) { status = api.fnFIE_img_shrink2(hsrc, hdst, rmag_x, rmag_y, mode); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0}) mode={1}", (f_err)status, mode); api.fnFIE_save_png(ResultDir + string.Format("/fnFIE_img_shrink2_{0}.png", mode), hdst, -1); } } finally { // オブジェクトの開放. hsrc.Dispose(); hdst.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' ''' </summary> <FvPluginExecute> _ Public Sub fnFIE_img_shrink2() Dim status As Integer = CInt(f_err.F_ERR_NONE) Dim hsrc As FHANDLE = FHANDLE.Zero ' 入力画像ハンドル. Dim hdst As FHANDLE = FHANDLE.Zero ' 出力画像ハンドル. Const rmag_x As Integer = 2 ' 圧縮率. Const rmag_y As Integer = 2 ' 圧縮率. Try ' 入力画像ファイルのロード. api.fnFIE_load_bmp(TestImageDir & "/testdata/lena256.bmp", hsrc, f_color_img_type.F_COLOR_IMG_TYPE_UC8) ' 出力画像の確保. hdst = api.fnFIE_img_root_alloc(CInt(f_imgtype.F_IMG_UC8), 1, api.fnFIE_img_get_width(hsrc), api.fnFIE_img_get_height(hsrc)) api.fnFIE_img_clear(hdst, 128.0) ' 処理の実行. For mode As Integer = 0 To 5 status = api.fnFIE_img_shrink2(hsrc, hdst, rmag_x, rmag_y, mode) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0}) mode={1}", CType(status, f_err), mode) api.fnFIE_save_png(ResultDir & String.Format("/fnFIE_img_shrink2_{0}.png", mode), hdst, -1) Next Finally ' オブジェクトの開放. hsrc.Dispose() hdst.Dispose() End Try End Sub End Class |