来个简单问题:怎么用vc建立一个固定大小的空白图像文档 ( 积分: 50 )

  • 主题发起人 主题发起人 lmeagle01
  • 开始时间 开始时间
L

lmeagle01

Unregistered / Unconfirmed
GUEST, unregistred user!
具体说明就是:比如硬盘里存了一个100*100的bmp图像,然后用vc的文件->打开,打开这个图像并显示
但是我现在想,用程序自己实现这个功能(不必存到硬盘中),点一下按钮,然后自动建立一个100*100的空白图像,并用文档打开它,显示之
vc偶是菜鸟,给些具体的代码吧,谢谢
 
虽然很简单,但分太少,又要写代码,实在太懒了。
如果是Delphi的话几句就可以了。
 
呵呵,觉得是个简单的问题,所以就给的分少。要是麻烦的话,那我再开个贴加分好了。但是问题要解决,决不食言!
 
不想写代码,可以告诉你怎么做。
去找个c的 bmp 定义的结构头文件,创建一个实例,先 ZeroMemory 之,然后填好文件头,高,款,色深,存盘就可以了。
 
晕~~,原理我也知道阿,就是不会实现~~
另外,建立空白图像并显示它就可以了,不必存到硬盘中
多少分满意,再加100分够不?
 
原理都知道还怕实现?真的知道写份代码也就20分钟。如果实现不了,证明你还试没了解。
 
to 白河愁
我的困难之处在于我vc不行,实际上整个功能我已经实现了,只是我想实现程序自动化,就是我上面所要求的样子
to all
谁能帮助偶
 
题目都不清晰
自动建立一个100*100的空白图像(多少位的啊,什么格式的啊),并用文档(用什么文档啊老兄)打开它,显示之(在哪里显示啊大哥)
 
lmeagle01,你上次那个问题怎样解决的?http://www.delphibbs.com/delphibbs/dispq.asp?lid=3071864,现在我碰上了,如何修改本地的MAC地址?用程序修改注册表的话,像差你说的第一、找到网卡名称信息,如果我的是:Macronix MX98715-Based Ethernet Adapter (Generic)这步了,谢不吝赐教!!
 
to Miros
8位灰度图象bmp格式上面都有说,文档就是vc中建立主窗体它自带的(OnFileOpen()函数),显示自然就是在主窗体中显示阿,你打开一个文档自然就明白了
to cgqok
参看xianguo给出的那段代码,改mac很简单,难得是mac地址的详细地址定位
 
to all
请帮忙 谢谢
 
假定你是单文档SDI的App
在View里面的OnDraw函数中添加:
CxxxView::OnDraw(...)
{
CxxxDoc* pDoc = GetDocument();
CBitmap *pBmp;
CBitmap *pBmpOld;
CDC dcMemory;
BITMAP bm;
dcMemory.CreateCompatibleDC(pDC);
pBmp=pDoc->GetBitmap();
pBmpOld=dcMemory.SelectObject(pBmp);
pBmp->GetBitmap(&bm);
pDC->StretchBlt(0,0,bm.bmWidth+100,bm.bmHeight+100 ,&dcMemory,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMemory.SelectObject(pBmpOld);
}
然后在Doc类的头文件中添加下面两行:
CBitmap m_bmpDraw;
CBitmap *GetBitmap(){return &m_bmpDraw;}
最后,在DOC的构造函数中,初始化。
CxxxDoc::CxxxDoc()
{
if (m_bmpDraw.LoadBitmap(IDB_BMP_DEFAULT)==0)
{
AfxMessageBox("Error occurs when open the bitmap !",MB_OK,0);
}
}
其中 IDB_BMP_DEFAULT 就是你所指定的资源文件了,你自己在VC++里面画。该文件会被自动保存到 app/res 目录里,名字可能是XXX.bmp,你自己看看,试试。肯定没问题的。我自己做的模仿画笔的小程序就可以用。当然,后来我换了方法。你可以看看我blog上面的图片. http://www.cnblogs.com/images/cnblogs_com/nickong/mypaint.JPG
 
后退
顶部