在对话框中的绘图怎样保存为jpg格式

yutingxiaozhe 2009-02-05 10:52:43
如题,在对话框的picture控件绘图,我现在可以保存为bmp格式,要保存为jpg格式怎么办?
...全文
192 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人乙2019 2009-02-10
  • 打赏
  • 举报
回复
3,4楼的办法都可行。
「已注销」 2009-02-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yutingxiaozhe 的回复:]
不用gdi+,用gdi怎么实现呢,保存bmp格式的有一个函数就行了,
[/Quote]

不需要用GDI+, 也不需要知道JPEG的编码算法, 直接使用jpeglib就可以了: 开源代码, 含Decoder和Encoder程序, 不仅仅可以用在PC上, 甚至可以用在嵌入系统上;
yutingxiaozhe 2009-02-09
  • 打赏
  • 举报
回复
它的配置很头疼啊
yutingxiaozhe 2009-02-09
  • 打赏
  • 举报
回复
我是想要把dc上绘制的图形直接保存为jpg或者png啊,非得用格式转换吗》
fescort 2009-02-07
  • 打赏
  • 举报
回复
void SaveToJpg2D(CString strFilePath)
{
CBitmapFile jpg;//此处是定义了一个现有类的对象

CBitmap bitmap;
CClientDC dc(this);
CDC memDC;

memDC.CreateCompatibleDC(&dc);

//此处仅是赋值了保存区域的宽度和高度
int Width = m_BitmapeCreate.x_pix;
int Height = m_BitmapeCreate.y_pix;

CRect rectSaveDev(0, 0, Width, Height);//设置保存矩形的设备坐标
rectSaveDev.NormalizeRect();
bitmap.CreateCompatibleBitmap(&dc, Width, Height);

CBitmap* pOldBitmap = memDC.SelectObject(&bitmap);//将位图选入设备环境

memDC.FillSolidRect(rectSaveDev, RGB(255,255,255));//绘图区域白色填充
memDC.SetMapMode(MM_LOMETRIC);//设置映射模式
memDC.SetViewportOrg(0,rectSaveDev.bottom);//设置视口坐标
memDC.SetWindowOrg(m_windoworg);//设置窗口坐标

CRect rectSaveLog = rectSaveDev;
memDC.DPtoLP(&rectSaveLog);//将保存区域的设备坐标转换为逻辑坐标
rectSaveLog.NormalizeRect();

//====================
//此处是你自己的绘图函数,绘图要在逻辑坐标中绘制
//====================

memDC.SelectObject(pOldBitmap);
LPTSTR lpFilePath = const_cast<LPTSTR>(strFilePath.operator LPCTSTR());
jpg.SaveWindowAsFile(lpFilePath, JPG_FILE, &bitmap);
}
byxdaz 2009-02-05
  • 打赏
  • 举报
回复
同意3楼的
netlib 2009-02-05
  • 打赏
  • 举报
回复
CxImage是第三方的一个非常好的库,可以对图像作很多需要的操作
oyljerry 2009-02-05
  • 打赏
  • 举报
回复
用GDI+转换图形格式
http://dev.csdn.net/article/50/50911.shtm
fandh 2009-02-05
  • 打赏
  • 举报
回复
建议上网下载一个CxIMAGE,里面对各种格式都支持,免费的开源的,还有例子,在codeproject上面,我给你网址:http://www.codeproject.com/KB/graphics/cximage.aspx
先调用CxImage(BYTE * buffer, DWORD size, DWORD imagetype);将buff传入,当然,也可以传入文件名,你自己看头文件;
然后再调用 bool Save(const TCHAR* filename, DWORD imagetype);即可!很简单好用!
yawer 2009-02-05
  • 打赏
  • 举报
回复
直接用GDI+来实现。
alfwolf 2009-02-05
  • 打赏
  • 举报
回复
你需要jpeg压缩算法
当然,你也可以直接使用GDI+的函数来实现
wyc761024 2009-02-05
  • 打赏
  • 举报
回复
可以尝试自己写一个函数把bmp的位图转成jpg图片。
只要知道jpg的文件格式就行,网上有很多介绍数据格式的。
yutingxiaozhe 2009-02-05
  • 打赏
  • 举报
回复
可以具体点吗,谢谢了
yutingxiaozhe 2009-02-05
  • 打赏
  • 举报
回复
不用gdi+,用gdi怎么实现呢,保存bmp格式的有一个函数就行了,
dxk01 2009-02-05
  • 打赏
  • 举报
回复
用VC自带的CImage就可以了,方法是各种中最简单的。
内容概要:SSD2828QN4是一款MIPI主桥接芯片,用于连接应用处理器与传统并行LCD接口及支持MIPI从属接口的LCD驱动器。该芯片支持最高每通道1Gbps的串行链路速度,最多可配置4个数据通道,显著减少了信号数量。它支持多种接口模式,包括RGB+SPI组合接口,适用于驱动智能或非智能显示面板,并能通过命令模式和视频模式传输数据。芯片内置时钟和复位模块、外部接口、协议控制单元(PCU)、包处理单元(PPU)、错误校正码/循环冗余校验(ECC/CRC)模块、长包和命令缓冲区、D-PHY控制器、模拟收发器以及内部锁相环(PLL),确保了高效的数据传输和系统稳定性。此外,文档详细描述了芯片的引脚分配、寄存器设置、操作模式、电源序列、时序特性等关键参数,为开发者提供了全面的技术指导。 适合人群:具备一定硬件设计基础,从事嵌入式系统开发、显示技术研究的研发人员。 使用场景及目标:①实现应用处理器与MIPI兼容显示屏之间的高速数据传输;②优化显示系统的功耗表现,减少电磁干扰(EMI);③通过灵活配置不同接口模式来适应各种显示设备的需求。 阅读建议:此文档面向具有一定电子工程背景的专业人士,建议读者结合实际项目需求深入理解各章节内容,特别是关于寄存器配置、时序要求等方面的具体说明。对于初次接触此类技术的开发者而言,建议先熟悉基本概念再逐步掌握高级功能的应用方法。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧