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

  • 大小: 88KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-21
  • 語言: C#
  • 標簽: C#??CAD??矢量繪圖??源碼??

資源簡介

重點是模仿了CAD的矢量繪圖功能,實現了畫直線,長方形,圓形、選擇線條顏色,線條粗細、移動以及清除等操作,還可以保存。

資源截圖

代碼片段和文件信息

using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Drawing;

namespace?CAD
{
????[Serializable]
????public?abstract?class?baseShape
????{
????????private?bool?isSelected?=?false;//標識圖形是否被選中
????????
????????private?Point?p1;//第一個點
????????private?Point?p2;//第二個點

????????public??Color?penColor;
????????public??int?penwidth?;

????????public?void?setSelected()//設置為選中狀態
????????{
????????????this.isSelected?=?true;
????????}
????????public?void?setUnSelected()//設置為非選中狀態
????????{
????????????this.isSelected?=?false;
????????}
????????public?Point?getP1()
????????{
????????????return?p1;
????????}
????????public?void?setP1(Point?p1)
????????{
????????????this.p1?=?p1;
????????}
????????public?Point?getP2()
????????{
????????????return?p2;
????????}
????????public?void?setP2(Point?p2)
????????{
????????????this.p2?=?p2;
????????}

????????public?abstract?void?draw(Graphics?g);//畫圖形

????????public?abstract?Point[]?getAllHitPoint();//得到所有圖形
????????public?abstract?void?setHitPoint(int?hitPointIndex?Point?newPoint);//設定熱點
????????public?abstract?baseShape?copySelf();//復制


????????public?bool?catchHitPoint(Point?hitPoint?Point?testPoint)//測試熱點捕捉
????????{
????????????return?this.getHitPointRectangle(hitPoint).Contains(testPoint);
????????}

????????public?int?catchShapPoint(Point?testPoint)//捕捉圖形
????????{
????????????int?hitPointIndex?=?-1;
????????????Point[]?allHitPoint?=?this.getAllHitPoint();//的到所有的熱點
????????????for?(int?i?=?0;?i?????????????{
????????????????if?(this.catchHitPoint(allHitPoint[i]?testPoint))
????????????????{
????????????????????return?i?+?1;//如果捕捉到了熱點,返回熱點的索引
????????????????}
????????????}
????????????if(this.catchShape(testPoint))?return?0;//沒有捕捉到熱點,捕捉到了圖形,返回特別熱點
????????????return?hitPointIndex;//返回捕捉到的人點
????????????}
????????public?void?drawHitPoint(Point?hitPoint?Graphics?g)//畫熱點
????????{
????????????g.DrawRectangle(new?Pen(Color.Red1)?this.getHitPointRectangle(hitPoint));
????????}

????????public?void?drawAllHitPoint(Graphics?g)//畫所有熱點
????????{
????????????Point[]?allHitPoint=this.getAllHitPoint();
????????????for(int?i=0;i<2;i++)
????????????{
????????????????this.drawHitPoint(allHitPoint[i]g);
????????????}
????????}

????????public?Rectangle?getHitPointRectangle(Point?hitPoint)//得到熱點矩形,以熱點為中心高寬5像素的矩形
????????{
????????????Rectangle?rect=new?Rectangle();
????????????rect.X=hitPoint.X-2;
????????????rect.Y=hitPoint.Y-2;
????????????rect.Width=5;
????????????rect.Height=5;
????????????return?rect;
????????}

????????public?abstract?bool?catchShape(Point?testPoint);//圖形捕捉

????????public?void?superDraw(Graphics?g)//公共畫法
????????{
????????????if(this.isSelected)?this.drawAllHitPoint(g);
????????}

????????public?static?Pen?getPen(CADframe?objCAD)//得到畫筆
????????{
????????????return?new?Pen(objCAD.clrobjCAD.lineWidth);
????????}
????}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

-----------?---------??----------?-----??----

???????????????443124????????????????????43


評論

共有 條評論