分辨率问题。

qiangorqiang 2005-12-01 10:17:31
我在程序中读出一背景图,然后在把它画到缓冲区中,最后在缓冲区输出文本保存。请问大家分辨率会不会改变。(photoshop中”图象大小“属性中的分辨率由原来的300变为72)程序如下:
TJPEGImage *pBackImage = new TJPEGImage;
TImageShowForm *Dlg = new TImageShowForm(this);
AnsiString strName , strCode , strPY;
TPrinter *pPrint = Printer();

std::auto_ptr<TFont> pNameFont(new TFont) , pPYFont(new TFont) , pCodeFont(new TFont);

pNameFont->Name = "黑体";
pNameFont->Size = 55;
pNameFont->Style << fsBold;

pPYFont->Name = "黑体";
pPYFont->Size = 45;
pPYFont->Style << fsBold;

pCodeFont->Name = "黑体";
pCodeFont->Size = 40;
pCodeFont->Style << fsBold;

pBackImage->LoadFromFile("bg.jpg");

Dlg->Show();

for(m_Data->First() ; !m_Data->Eof ; m_Data->Next())
{
std::auto_ptr<Graphics::TBitmap> pMemBitmap(new Graphics::TBitmap) , Photo(new Graphics::TBitmap);
std::auto_ptr<TStream> pStream;

pMemBitmap->Assign(pBackImage);

SetBkMode(pMemBitmap->Canvas->Handle , TRANSPARENT);

strName = m_Data->FieldByName("Name")->AsString;
strCode = m_Data->FieldByName("Code")->AsString;
strPY = m_Data->FieldByName("PY")->AsString;

pStream.reset(m_Data->CreateBlobStream(m_Data->FieldByName("Photo"), bmRead));
Photo->LoadFromStream(pStream.get());

pMemBitmap->Canvas->Draw(100 , 215 , Photo.get());
pMemBitmap->Canvas->Font = pNameFont.get();
TextOut(pMemBitmap->Canvas->Handle , 400 , 270 , strName.c_str() , strName.Length());
pMemBitmap->Canvas->Font = pPYFont.get();
TextOut(pMemBitmap->Canvas->Handle , 400 , 360 , strPY.c_str() , strPY.Length());
pMemBitmap->Canvas->Font = pCodeFont.get();
TextOut(pMemBitmap->Canvas->Handle , 400 , 460 , strCode.c_str() , strCode.Length());

//pMemBitmap->Transparent = FALSE;
/*
pPrint->BeginDoc();
pPrint->Canvas->Draw(0 , 0 , pMemBitmap.get());
pPrint->EndDoc();
*/
{
std::auto_ptr<TJPEGImage> pSave(new TJPEGImage);
pSave->Assign(pMemBitmap.get());
pSave->SaveToFile("test.jpg");
}
// Dlg->Canvas->Draw(0 , 0 , pMemBitmap.get());
}
MessageBox(Dlg->Handle , "完成" , "提示" , MB_OK);

delete Dlg;

delete pBackImage;
...全文
139 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cczlp 2005-12-01
  • 打赏
  • 举报
回复
不指定就是72
constantine 2005-12-01
  • 打赏
  • 举报
回复
photoshop 的分辨率俺是不理解了,图像如果height,width不变就行了
alloutoflove 2005-12-01
  • 打赏
  • 举报
回复
photoshop的中300的分辨率只能是PSD文件吧, jpg可以吗?
qiangorqiang 2005-12-01
  • 打赏
  • 举报
回复
cczlp(不惑)你好:
请问怎么指定分辨率为300

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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