社区
C++ Builder
帖子详情
如何在CB中对JPG文件进行操作?
ktcserver
2004-10-25 04:03:13
我想进行如下操作,无论调用的JPG是多少像素的,都转换成为120*100像素,然后旋转90度,并且在打印的时候为3.5cm*4.2cm,代码将如何写啊,在TImages控件中或TDBImages控件中如何实现呢?
...全文
103
3
打赏
收藏
如何在CB中对JPG文件进行操作?
我想进行如下操作,无论调用的JPG是多少像素的,都转换成为120*100像素,然后旋转90度,并且在打印的时候为3.5cm*4.2cm,代码将如何写啊,在TImages控件中或TDBImages控件中如何实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ktcserver
2004-10-26
打赏
举报
回复
旋转90°的方法:
bool TForm1::Right90(Graphics::TBitmap * SrcBitmap)
{
TRect rt;
rt.Left = 0;
rt.Top = 0;
rt.Right = SrcBitmap->Height;
rt.Bottom = SrcBitmap->Width;
SrcBitmap-> PixelFormat = pf24bit;
Graphics::TBitmap* DstBitmap = new Graphics::TBitmap;
DstBitmap->Width=SrcBitmap->Height;
DstBitmap->Height=SrcBitmap->Width;
DstBitmap->PixelFormat = pf24bit;
BITMAP Bmp0, Bmp1; int nPitch0, nPitch1;
GetObject(SrcBitmap->Handle, sizeof(BITMAP), &Bmp0);
GetObject(DstBitmap->Handle, sizeof(BITMAP), &Bmp1);
nPitch0 = ((Bmp0.bmWidth*Bmp0.bmBitsPixel+31)/32)*4;
nPitch1 = ((Bmp1.bmWidth*Bmp0.bmBitsPixel+31)/32)*4;
//假设是顺时针旋转90度
for(int h=0; h<Bmp0.bmHeight; h++)
{
BYTE* Bits0 = (BYTE*)Bmp0.bmBits + nPitch0 * h;
for(int w=0; w<Bmp0.bmWidth; w++)
{
int w1 = h, h1 = Bmp0.bmWidth-1-w;
memcpy((BYTE*)Bmp1.bmBits+(w1*3+nPitch1 *h1), Bits0, 3);
Bits0 += 3;
}
}
SrcBitmap -> Height = DstBitmap->Height;
SrcBitmap -> Width = DstBitmap->Width;
SrcBitmap -> Canvas -> StretchDraw(rt,DstBitmap);
delete DstBitmap;
return true;
}
wt_sanlian
2004-10-26
打赏
举报
回复
我这有一段将TBitmap的尺寸重新设定的代码,可以供汝参考
bool ResizeBitmap(Graphics::TBitmap * SrcBitmap,int BWidth,int BHeight)
{
Graphics :: TBitmap * DstBitmap;
DstBitmap = new Graphics::TBitmap;
DstBitmap -> Width = BWidth;
DstBitmap -> Height = BHeight;
TRect rt;
rt.Left = 0;
rt.Top = 0;
rt.Right = BWidth;
rt.Bottom = BHeight;
DstBitmap -> Canvas -> StretchDraw(rt,SrcBitmap);
SrcBitmap -> Height = BHeight;
SrcBitmap -> Width = BWidth;
SrcBitmap -> Canvas -> StretchDraw(rt,DstBitmap);
delete DstBitmap;
return true;
}
ktcserver
2004-10-26
打赏
举报
回复
自己顶~~~~~~
JPG
文件
编解码详解
JPEG
文件
编/解码详解 cat_ng 猫猫 JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写。它由国际电话与电报咨询委员会CCITT(The International Telegraph and Telephone Consultative ...
JPG
文件
编解码详解——详细介绍编码和解码
JPG
JPEG
文件
编/解码详解 cat_ng 猫猫 JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写。它由国际电话与电报咨询委员会CCITT(The International Telegraph and
如何利用Python和win32编程避免重复性体力劳动(四)——下拉列表
操作
:
CB
_SETCURSEL、
CB
N_SELENDOK和
CB
N_SELCHANGE
情况要稍微复杂一点,因为另存为图片的默认选项是BMP,特别不巧,我使用的FaceGen版本保存为BMP有BUG,不能成功保存,所以我们除了定位保存
文件
的路径以外,还需要对
文件
类型的下拉组合框(ComboBox进)行
操作
: ...
网络安全攻防——webshell攻击&
文件
操作
漏洞
文章目录1、
文件
加载与导入load_file ()读取服务器
中
的
文件
into outfile()向服务器导入本地
文件
2、一句话木马(小马)+大马+webshell2.1 一句话木马2.2 大马2.3 webshell软件2.4 附:常见命令3、
文件
上传漏洞4、
文件
...
20230628找到HDD机械硬盘上丢失的
文件
/
文件
夹
正在将孤立
文件
IMG_20230618_171831215.
jpg
(1941A)恢复到目录
文件
19414。正在将孤立
文件
IMG_20230618_171833114.
jpg
(1941B)恢复到目录
文件
19414。正在将孤立
文件
IMG_20230618_171919942.
jpg
(1941C)恢复到...
C++ Builder
13,822
社区成员
102,680
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章