CxImage怎么改变图片所占内存的大小,CxImage怎么改变加的水印的大小

帆帆郑 2014-03-11 12:33:58
我用CxImage的setjpegQuality函数设置图片的品质为70,但是所占内存还是400多kb,我需要图片大小为30kb左右就可以了,不知道改变图片品质为什么不可以。
m_Image2.SetJpegQuality(70);




另外,CxImage加水印之后,怎么调节水印字体的大小。以下是我加水印的代码
CxImage::CXTEXTINFO  textword;
m_Image2.InitTextInfo( &textword );
_stprintf( textword.lfont.lfFaceName, _T("Times New Roman"));
textword.lfont.lfCharSet = GB2312_CHARSET ;//字体
textword.lfont.lfWeight = 30 ;//字体重量,粗细
textword.lfont.lfItalic = 0 ; //
textword.lfont.lfUnderline = 0 ; //是否加下划线
textword.fcolor = RGB( 255,0,0 );//字体颜色
textword.lfont.lfHeight = 50;
textword.lfont.lfWeight = 300;
//textword.b_round
//textword.bcolor = RGB( 0, 80,160 );//背景颜色
textword.opaque = 0; //背景透明不透明
textword.b_opacity = (float)(0)/(float)100; //透明度
textword.b_round = (BYTE) 10 ; //四舍五入为背景矩形半径
textword.smooth = (BYTE)1; //平滑选项的文本
_stprintf( textword.text, _T("DEMO") );


m_Image2.DrawStringEx(0,0,100,&textword);
...全文
304 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shifeilong1111 2014-12-10
  • 打赏
  • 举报
回复
引用 4 楼 u012702039 的回复:
1.设置图片品质m_Image2.SetJpegQuality(70);这个函数是正确的,因为我保存时写错了, 正确的是m_Image2.save("保存路径",CXIMAGE_FORMAT_JPG); 我写成m_Image2.save("保存路径",CXIMAGE_SUPPORT_JPG); 2.设置水印大小就是 textword.lfont.lfHeight = 300; textword.lfont.lfWeight = 90; 这两个函数,只是我写水印之后,对图片进行缩小了,导致水印大小看起来没设置成功。
请问代码的17行 _stprintf( textword.text, _T("DEMO") ); 我改成中文后 _stprintf( textword.text, _T("测试") ); 结果保存的图片上只有一个字:“测”,菜鸟求解啊!
帆帆郑 2014-03-18
  • 打赏
  • 举报
回复
1.设置图片品质m_Image2.SetJpegQuality(70);这个函数是正确的,因为我保存时写错了, 正确的是m_Image2.save("保存路径",CXIMAGE_FORMAT_JPG); 我写成m_Image2.save("保存路径",CXIMAGE_SUPPORT_JPG); 2.设置水印大小就是 textword.lfont.lfHeight = 300; textword.lfont.lfWeight = 90; 这两个函数,只是我写水印之后,对图片进行缩小了,导致水印大小看起来没设置成功。
赵4老师 2014-03-11
  • 打赏
  • 举报
回复
建议楼主改用JPEG Optimizer软件!
JiMoKuangXiangQu 2014-03-11
  • 打赏
  • 举报
回复
没用过,mark一下,说不定以后用得着,呵呵。
帆帆郑 2014-03-11
  • 打赏
  • 举报
回复
up一下,有没有大神们知道为什么呀

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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