vb gdi+绘制任意四边形图像

vb gdi+绘制任意四边形图像

ID:9947611

大小:414.00 KB

页数:7页

时间:2018-05-16

vb gdi+绘制任意四边形图像_第1页
vb gdi+绘制任意四边形图像_第2页
vb gdi+绘制任意四边形图像_第3页
vb gdi+绘制任意四边形图像_第4页
vb gdi+绘制任意四边形图像_第5页
资源描述:

《vb gdi+绘制任意四边形图像》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、vb运用Gdi+函数绘制任意四边形图像vb运用Gdi+实现矩形、平行四边形图像很容易。如果要绘制任意四边形图像就不是一件容易的事,因为在Gdi+中没有具体实现的函数。究竟能不能实现呢?答案是肯定的。我把它封装成一个方法,代码如下:'绘制任意四边形图像函数PublicSubImgAnyRectI(ByValgraphicsAsLong,ByValbitmapAsLong,pot()AsPOINTL,countAsInteger)DimBitmap2AsLongDimgBmpAsLongDimpox(3)AsVariantDimpoy(3)AsVariantDimpos(

2、3)AsPOINTLDimnewWAsLongDimnewHAsLongDimiAsLongDimky1AsSingleDimky2AsSingleFori=0To3pox(i)=pot(i).Xpoy(i)=pot(i).YNextQSortAnypox,0,3QSortAnypoy,0,3newW=pox(3)-pox(0)newH=poy(3)-poy(0)GdipCreateBitmapFromScan0newW,newH,0,GpPixelFormat.PixelFormat32bppARGB,ByVal0,Bitmap2GdipGetImageGraphi

3、csContextBitmap2,gBmpGdipGraphicsCleargBmp,&HFFFFFFGdipDrawImageRectIgBmp,bitmap,0,0,newW,newHky1=pot(3).Y-pot(0).Yky2=pot(2).Y-pot(1).YFori=0TonewH-1pos(0).Y=ky1*i/newH+pot(0).Ypos(0).X=((pos(0).Y-pot(0).Y)*(pot(0).X-pot(3).X))/(pot(0).Y-pot(3).Y)+pot(0).Xpos(1).Y=ky2*i/newH+pot(1).Ypo

4、s(1).X=((pos(1).Y-pot(1).Y)*(pot(1).X-pot(2).X))/(pot(1).Y-pot(2).Y)+pot(1).Xpos(2).Y=ky1*(i+2)/newH+pot(0).Ypos(2).X=((pos(2).Y-pot(0).Y)*(pot(0).X-pot(3).X))/(pot(0).Y-pot(3).Y)+pot(0).XGdipDrawImagePointsRectIgraphics,Bitmap2,pos(0),3,0,i,newW,1,UnitPixelNextGdipDisposeImageBitmap2Gd

5、ipDeleteGraphicsgBmpEndSub'快速排序(升序)PublicSubQSortAny(ArrAsVariant,LowAsLong,HiAsLong)IfNotIsArray(Arr)ThenExitSubOnErrorGoToQuickSortDimlAsLongDimhAsLongDimMAsVariantDimVAsVariantl=Lowh=HiIfHi<=LowThenExitSubM=Arr(Int((Low+Hi)2))DoWhile(l<=h)WhileArr(l)

6、WendIf(l<=h)ThenV=Arr(l):Arr(l)=Arr(h)Arr(h)=Vl=l+1:h=h-1EndIfLoopIf(Low

7、(这不是Gdi+函数是我封装的一个函数)GdipCreateBitmapFromScan0'用于在内存中创建一副图片GdipGetImageGraphicsContext'用于从内存中图片在内存中创建画布GdipGraphicsClear'用于设置画布背景完全透明GdipDrawImageRectI'用于在内存画布上绘制矩形图像GdipDisposeImage'用于删除内存中的图像GdipDeleteGraphics'用于删除内存中的画布要绘制任意四边形图像,矩形图像无法一次绘制出整个任意四边形图像。要把矩形图像切割成1--2个像素高,宽与矩形图像宽

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。