# include“l_bitmap.h”
L_LTKRN_APIL_INTL_StartResizeBitmap (pBitmap、nNewWidth nNewHeight、nNewBits pPalette, nColors, uFlags, pfnCallback, pCallbackData, ppResizeData)
开始调整过程。
指针指向一个位图句柄。
新图像的宽度。
图片的新高度。
输出比特每像素。使用0 8位灰度。可能的值是:0,1,2,3,4,5,6,7,8、12、16、24、32、48和64。
指针抖动的调色板nNewBits
< = 8。传递NULL发抖固定面板或如果没有调色板是必需的。
条目的数量pPalette
。这个值只如果有效pPalette不是零。
国旗,表示图像的颜色顺序,调整的类型和犹豫不决的类型。旗帜的不同类别可以组合在一起,但两个旗帜从同一类别不能结合。可能的值是:
价值 | 意义 |
---|---|
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]内部使用。 |
指针指向一个可选的回调用于行pBitmap
。通过零LEADTOOLS调用L_GetBitmapRow直接。
可选参数传递pfnCallback
。
指向变量的指针将被更新的信息需要进行调整。您需要传递这些信息的后续调用L_GetResizedRowCol和L_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;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。