91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

使用C/C++編寫的簡易畫圖程序 功能:①繪制線,矩形,橢圓,文本 ②保存圖元到文件,并能夠從文件加載圖像 ③能夠通過鼠標點擊選中圖形,并進行屬性的修改,修改的內容可包括: 修改圖元的大小,位置,畫筆畫刷屬性,文本的字體和內容,刪除圖形 【使用了動態緩沖繪圖方法,能夠通過鼠標右鍵精確選中圖形,純WinSDK,不是MFC!!!】 【實驗五,山大威海】

資源截圖

代碼片段和文件信息

/*******************************************************************
程序:實驗五
文件:func.cpp
功能:繪圖
時間:2016.05.11
********************************************************************/
#include
#include?“resource.h“
#include“func.h“
#include?
#include?
void?DrawMyLine(HDC?hdc?PMYPIC?pLine) //?繪制一條線
{
HPEN?hPen?=?CreatePenIndirect(&(pLine->logpen));
HPEN?hPenOld?=?(HPEN)Selectobject(hdc?hPen);
MoveToEx(hdc?pLine->ptS.x?pLine->ptS.y?NULL);
LineTo(hdc?pLine->ptE.x?pLine->ptE.y);
Selectobject(hdc?hPenOld);
Deleteobject(hPen);
}
void?DrawMyRect(HDC?hdc?PMYPIC?pRect) //?繪制一個矩形
{
HPEN?hPen?=?CreatePenIndirect(&(pRect->logpen));
HPEN?hPenOld?=?(HPEN)Selectobject(hdc?hPen);
HBRUSH?hNewBrush?=?CreateBrushIndirect?(&(pRect->logbrush));
HBRUSH?hOldBrush?=?(HBRUSH)Selectobject?(hdc?hNewBrush);
Rectangle(hdcpRect->ptS.xpRect->ptS.ypRect->ptE.xpRect->ptE.y);
Selectobject(hdc?hPenOld);
Deleteobject(hPen);
Selectobject(hdchOldBrush);
Deleteobject(hNewBrush);
}
void?DrawMyEll(HDC?hdc?PMYPIC?pRect) //?繪制一個橢圓
{
HPEN?hPen?=?CreatePenIndirect(&(pRect->logpen));
HPEN?hPenOld?=?(HPEN)Selectobject(hdc?hPen);
HBRUSH?hNewBrush?=?CreateBrushIndirect?(&(pRect->logbrush));
HBRUSH?hOldBrush?=?(HBRUSH)Selectobject?(hdc?hNewBrush);
Ellipse(hdcpRect->ptS.xpRect->ptS.ypRect->ptE.xpRect->ptE.y);
Selectobject(hdc?hPenOld);
Deleteobject(hPen);
Selectobject(hdchOldBrush);
Deleteobject(hNewBrush);
}
void?DrawMyText(HDC?hdcPMYPIC?pText) //畫文字
{
HFONT?hFont=CreateFontIndirect(&(pText->logfont));
HFONT?hFontOld?=?(HFONT)Selectobject?(hdc?hFont);
SetTextColor(hdcpText->textColor);
TextOut(hdc(pText->ptS.x+pText->ptE.x)/2(pText->ptS.y+pText->ptE.y)/2pText->szTextlstrlen(pText->szText));
GetTextExtentPoint32?(hdcpText->szText?lstrlen?(pText->szText)?&pText->size);
Selectobject(hdchFontOld);
Deleteobject?(hFont);
}
int?Sum_Pics(PMYPIC?pPicint?len)//返回現有圖片總數
{
for?(int?i=0;i {
if?(pPic[i].order==0)
return?i;
}
return?0;//保留
}
void?DrawAll(HDC?hdc?PMYPIC?pPicint?count)//畫所有圖像,包括線,矩形,橢圓
{
for?(int?i=0;i {
if(pPic[i].DrawObj==0)break;
switch?(pPic[i].DrawObj)
{
case?ID_PIC_LINE:DrawMyLine(hdc&(pPic[i]));break;
case?ID_PIC_RECT:DrawMyRect(hdc&(pPic[i]));break;
case?ID_PIC_ELL:?DrawMyEll(hdc&(pPic[i]));break;
case?ID_PIC_TEXT:DrawMyText(hdc&(pPic[i]));break;//
default:?break;
}
}
}
void?SaveData(PMYPIC?pPicint?len)//保存圖像到文件
{
FILE*?fp;
errno_t?err;
if((err=fopen_s(&fp“data.bin““wb+“))==0)
{
fwrite(pPicsizeof(*pPic)lenfp);
fclose(fp);
MessageBox(NULL?L“保存成功!“L“提示“MB_ICONEXCLAMATION|MB_OK);
}
else?MessageBox(NULL?L“保存失敗!“L“Error!“MB_ICONEXCLAMATION|MB_OK);;
}
void?ClearArg(PMYPIC?pPicint?len)//清空儲存圖像的數組
{
for(int?i=0;i {
pPic[i].ptS.x=0;
pPic[i].ptS.y=0;
pPic[i].ptE.x=0;
pPic[i].ptE.y=0;
pPic[i].logpen.lopnColor

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-05-29?17:47??Debug\
?????文件???????57344??2016-05-29?17:46??Debug\實驗五.exe
?????目錄???????????0??2016-05-29?17:47??實驗五\
?????文件?????????894??2016-05-29?17:45??實驗五.sln
?????文件???????23552??2016-05-29?17:47??實驗五.v11.suo
?????文件????????6202??2016-05-26?13:06??實驗五\func.cpp
?????文件????????1279??2016-05-15?12:56??實驗五\func.h
?????文件????????1886??2016-05-12?12:59??實驗五\ICON1.ico
?????文件?????????766??2016-05-26?12:38??實驗五\lmove.cur
?????文件???????16594??2016-05-29?17:44??實驗五\main.cpp
?????文件?????????326??2016-05-12?13:20??實驗五\POINTER.cur
?????文件????????4396??2016-05-29?17:46??實驗五\resource.h
?????文件???????13678??2016-05-13?21:14??實驗五\實驗五.rc
?????文件????????4466??2016-05-29?17:46??實驗五\實驗五.vcxproj
?????文件????????1687??2016-05-29?17:46??實驗五\實驗五.vcxproj.filters

評論

共有 條評論