L_StartResizeBitmap

# include“l_bitmap.h”

L_LTKRN_APIL_INTL_StartResizeBitmap (pBitmap、nNewWidth nNewHeight、nNewBits pPalette, nColors, uFlags, pfnCallback, pCallbackData, ppResizeData)

开始调整过程。

参数

pBITMAPHANDLEpBitmap

指针指向一个位图句柄。

L_INTnNewWidth

新图像的宽度。

L_INTnNewHeight

图片的新高度。

L_INTnNewBits

输出比特每像素。使用0 8位灰度。可能的值是:0,1,2,3,4,5,6,7,8、12、16、24、32、48和64。

L_RGBQUAD* pPalette

指针抖动的调色板nNewBits< = 8。传递NULL发抖固定面板或如果没有调色板是必需的。

L_INTnColors

条目的数量pPalette。这个值只如果有效pPalette不是零。

L_UINTuFlags

国旗,表示图像的颜色顺序,调整的类型和犹豫不决的类型。旗帜的不同类别可以组合在一起,但两个旗帜从同一类别不能结合。可能的值是:

价值 意义
ColorRes旗帜
RES_ORDERRGB 0 x00000000 RGB颜色。
RES_ORDERBGR [0 x00000004] BGR颜色顺序。
RES_ORDERGRAY [0 x00000080] 12或16位灰度。12和16位灰度图像只支持文档和医学成像工具包。
RES_ORDERROMM [0 x00000800]罗姆颜色顺序。罗姆只支持24和48比特位图像。
RES_ORDERRGB565 [0 x00004000] RGB 565字节顺序。
调整旗帜
RES_NORMAL (0 x00000000)正常的调整。
RES_RESAMPLE [0 x00000010]线性插值调整比RES_NORMAL慢。
RES_BICUBIC [0 x00000020]双立方插值调整比RES_RESAMPLE慢。
犹豫不决的旗帜
RES_NODITHERING [0 x00000000]没有犹豫
RES_FLOYDSTEINDITHERING (0 x00010000)弗洛伊德斯坦犹豫不决。
RES_STUCKIDITHERING [0 x00020000] Stucki犹豫不决。
RES_BURKESDITHERING [0 x00030000]伯克犹豫不决。
RES_SIERRADITHERING [0 x00040000]塞拉犹豫不决。
RES_STEVENSONARCEDITHERING [0 x00050000]史蒂文森Arce犹豫不决。
RES_JARVISDITHERING [0 x00060000] Jarvis犹豫不决。
RES_ORDEREDDITHERING [0 x00070000]命令犹豫不决。
RES_CLUSTEREDDITHERING [0 x00080000]集群犹豫不决。
RES_DITHERINGOPTIONS [0 x00ff0000]面具找到犹豫的选择。
RES_USELUTAFTERRESIZE [0 x00001000]内部国旗。
RES_IGNORELUT [0 x00002000]内部国旗。
RES_LOWHIGHBITVALID 仅[0 x00000002]内部使用。

RESIZECALLBACKpfnCallback

指针指向一个可选的回调用于行pBitmap。通过零LEADTOOLS调用L_GetBitmapRow直接。

L_VOID* pCallbackData

可选参数传递pfnCallback

L_VOID* * ppResizeData

指向变量的指针将被更新的信息需要进行调整。您需要传递这些信息的后续调用L_GetResizedRowColL_StopResizeBitmap

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

犹豫不决标志使用抖动时需要产生输出比特每像素。输入数据的插值通常需要转换为24位或48比特位然后回所需的比特每像素。所以有些犹豫不决可能需要如果输出位/像素< = 8。

L_StartResizeBitmap开始调整过程。这将调用紧随其后L_GetResizedRowCol调整数据检索和调用L_StopResizeBitmap自由分配的内存ppResizeData

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

L_INT StartResizeBitmapExample (pBITMAPHANDLE pBitmap, L_INT nWidth, L_INT nHeight){L_VOID * pResizeData;L_INT nRet;L_UCHAR * pbuf;BITMAPHANDLE位图;L_INT nRow = 0;L_INT nCol = 0;nRet = L_StartResizeBitmap (pBitmap,nWidth,nHeight,24日,空,/ /没有调色板0,RES_BICUBIC | RES_ORDERBGR,/ /双立方插值,BGR秩序空,/ /不回调空,/ /没有用户数据&pResizeData);如果(nRet ! =成功)返回nRet;nRet = L_CreateBitmap(位图,运算符(BITMAPHANDLE)、TYPE_CONV nWidth nHeight, 24日ORDER_BGR,空,pBitmap - > ViewPerspective零0);如果(nRet ! =成功){L_StopResizeBitmap (pResizeData);返回nRet;}pbuf = (L_UCHAR *) GlobalAllocPtr (GMEM_MOVEABLE Bitmap.BytesPerLine);如果(pbuf !){L_FreeBitmap(位图);L_StopResizeBitmap (pResizeData);返回nRet;}L_AccessBitmap(位图);/ /行缩放图像,一个接一个(nRow = 0;nRow < Bitmap.Height;nRow + +){nRet = L_GetResizedRowCol (Bitmap.BytesPerLine pResizeData, pbuf nRow 0);如果(nRet ! =成功)打破;L_PutBitmapRowCol(位图,pbuf nRow、nCol Bitmap.BytesPerLine);}L_ReleaseBitmap(位图);L_StopResizeBitmap (pResizeData);如果(nRet = =成功){如果(pBitmap - > Flags.Allocated)L_FreeBitmap (pBitmap);L_CopyBitmap (pBitmap,位图,运算符(BITMAPHANDLE));}L_FreeBitmap(位图);返回nRet;}
LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。