图形裁剪代码Word文档格式.docx

上传人:b****3 文档编号:15702479 上传时间:2022-11-15 格式:DOCX 页数:14 大小:16.49KB
下载 相关 举报
图形裁剪代码Word文档格式.docx_第1页
第1页 / 共14页
图形裁剪代码Word文档格式.docx_第2页
第2页 / 共14页
图形裁剪代码Word文档格式.docx_第3页
第3页 / 共14页
图形裁剪代码Word文档格式.docx_第4页
第4页 / 共14页
图形裁剪代码Word文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

图形裁剪代码Word文档格式.docx

《图形裁剪代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《图形裁剪代码Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

图形裁剪代码Word文档格式.docx

È

÷

µ

Ä

º

Ó

ê

£

»

Ô

Ú

Á

³

É

Ï

¦

°

Ò

å

Þ

·

¹

Ë

ì

¿

ä

¡

ð

Ö

Ø

ç

¬

ã

ü

ª

¸

ø

æ

è

ß

Ü

½

CPointptset[N],pt[N],pts[N],ptse[N],p[N],ptset1[N];

 

#defineLEFT1

#defineRIGHT2

#defineBOTTOM4

#defineTOP8

#defineXL100

#defineXR300

#defineYT100

#defineYB250

CPennewpen(PS_SOLID,1,RGB(255,0,0));

CPen*old=pDC->

SelectObject(&

newpen);

pDC->

Rectangle(CRect(XL,YT,XR,YB));

//¼

ptset[0]=CPoint(120,150);

ptset[1]=CPoint(170,110);

ptset[2]=CPoint(0,190);

ptset[3]=CPoint(350,150);

ptset[4]=CPoint(0,250);

ptset[5]=CPoint(150,230);

ptset[6]=CPoint(200,50);

ptset[7]=CPoint(120,150);

ptset1[0]=CPoint(20,150);

ptset1[1]=CPoint(170,110);

ptset1[2]=CPoint(250,150);

ptset1[3]=CPoint(200,230);

ptset1[4]=CPoint(20,150);

TextOut(0,20,"

«

ó

±

×

ö

"

);

TextOut(0,50,"

à

SelectObject(old);

}

CDC*pDC=GetDC();

CPennewpen(PS_SOLID,1,RGB(255,0,0));

for(inti=0;

i<

N;

i++)

{

pDC->

MoveTo(ptset[i]);

LineTo(ptset[i+1]);

i++;

}

CView:

:

OnLButtonDblClk(nFlags,point);

CPennewpen(PS_SOLID,1,RGB(0,255,0));

floatx,y;

inti;

intcode1,code2;

RedrawWindow();

//Ç

ù

code

for(i=0;

i++,i++)

intc=0;

if(ptset[i].x<

XL)c=c|LEFT;

elseif(ptset[i].x>

XR)c=c|RIGHT;

if(ptset[i].y>

YB)c=c|BOTTOM;

elseif(ptset[i].y<

YT)c=c|TOP;

code1=c;

c=0;

if(ptset[i+1].x<

elseif(ptset[i+1].x>

XR)c=c|RIGHT;

if(ptset[i+1].y>

elseif(ptset[i+1].y<

code2=c;

//Ï

ò

é

if(code1!

=0&

&

code2!

(code1&

code2)==0)

{

if((LEFT&

code1)!

=0)//Ï

{

x=XL;

y=(float)ptset[i].y+(ptset[i+1].y-ptset[i].y)*(XL-ptset[i].x)/(ptset[i+1].x-ptset[i].x);

}

elseif((RIGHT&

=0)//Ï

x=XR;

y=(float)ptset[i].y+(ptset[i+1].y-ptset[i].y)*(XR-ptset[i].x)/(ptset[i+1].x-ptset[i].x);

elseif((BOTTOM&

y=YB;

x=(float)ptset[i].x+(ptset[i+1].x-ptset[i].x)*(YB-ptset[i].y)/(ptset[i+1].y-ptset[i+1].y);

elseif((TOP&

y=YT;

x=(float)ptset[i].x+(ptset[i+1].x-ptset[i].x)*(YT-ptset[i].y)/(ptset[i+1].y-ptset[i].y);

ptset[i].x=(long)x;

ptset[i].y=(long)y;

code2)!

ptset[i+1].x=(long)x;

ptset[i+1].y=(long)y;

MoveTo(ptset[i].x,ptset[i].y);

LineTo(ptset[i+1].x,ptset[i+1].y);

}

if(code1==0&

code2==0)

{pDC->

=0)

MoveTo(ptset[0].x,ptset[0].y);

MoveTo(ptset[i+1].x,ptset[i+1].y);

pDC-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1