当前位置: 首页 > wzjs >正文

动漫美女做爰视频网站seo搜索优化是什么呢

动漫美女做爰视频网站,seo搜索优化是什么呢,营口房产建设信息网站,物流公司做网站注重什么问题一、Graphics 类的本质与作用 Graphics 是 .NET 框架中 System.Drawing 命名空间下的核心类,用于在二维画布(如 Bitmap 图像)上绘制图形、文本或图像。它相当于 “绘图工具”,提供了一系列方法(如 DrawLine、FillElli…

一、Graphics 类的本质与作用

Graphics 是 .NET 框架中 System.Drawing 命名空间下的核心类,用于在二维画布(如 Bitmap 图像)上绘制图形、文本或图像。它相当于 “绘图工具”,提供了一系列方法(如 DrawLineFillEllipseDrawString 等),可以操作画笔(Pen)、画刷(Brush)、字体(Font)等对象,将几何图形、文本或图像渲染到指定的画布上。

二、能否用 Graphics 绘制模型空间中的图形?

可以,但需要分两步走:先从 CAD 模型空间中提取几何数据,再将数据转换为 Graphics 能识别的图形对象。

步骤 1:从模型空间提取几何数据

在 CAD 开发中(如 AutoCAD、基于 Teigha 库的 DWG 处理),模型空间(Model Space)存储了图纸的核心几何对象(如线段、圆、多边形、文本等)。要绘制这些图形,需先通过 CAD 库的 API 提取这些几何实体。

例如,使用 Database 对象访问模型空间的块定义(BlockDefinition),遍历其中的实体(Entity):

// 开启数据库事务
using (Transaction tr = db.TransactionManager.StartTransaction())
{// 获取块表(BlockTable)BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);// 获取模型空间的块表记录(BlockTableRecord)BlockTableRecord modelSpace = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead);// 遍历模型空间中的所有实体foreach (ObjectId entityId in modelSpace){try{// 打开实体对象Entity entity = (Entity)tr.GetObject(entityId, OpenMode.ForRead);// 根据实体类型进行不同处理if (entity is Line line){// 处理线段 - 获取起点和终点坐标Point3d startPoint = line.StartPoint;Point3d endPoint = line.EndPoint;// 其他线段处理逻辑...}else if (entity is Circle circle){// 处理圆形 - 获取圆心和半径Point3d center = circle.Center;double radius = circle.Radius;// 其他圆形处理逻辑...}else if (entity is Arc arc){// 处理圆弧 - 获取圆心、半径、起始角度和结束角度Point3d center = arc.Center;double radius = arc.Radius;double startAngle = arc.StartAngle;double endAngle = arc.EndAngle;// 其他圆弧处理逻辑...}else if (entity is Polyline polyline){// 处理多段线 - 遍历顶点for (int i = 0; i < polyline.CoordinateCount; i++){Point2d vertex = polyline.GetPoint2dAt(i);// 其他顶点处理逻辑...}}else if (entity is BlockReference blockRef){// 处理块引用 - 获取块名和插入点string blockName = blockRef.Name;Point3d insertionPoint = blockRef.Position;// 其他块引用处理逻辑...}// 可以继续添加其他实体类型的处理...}catch (System.Exception ex){// 处理实体读取异常Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\n读取实体时出错: " + ex.Message);}}// 提交事务tr.Commit();
}
步骤 2:将几何数据转换为 Graphics 可绘制的图形

Graphics 只能识别二维平面中的坐标(基于画布的像素坐标系),而 CAD 模型空间的坐标可能非常大(如以毫米为单位的工程坐标),因此需要坐标变换(缩放、平移、旋转等),将 CAD 坐标映射到缩略图的画布坐标(如 200x200 像素)。

示例:用 Graphics 绘制模型空间中的线段

假设模型空间中有一条线段(起点 (100, 200),终点 (500, 800)),需要将其缩放到 200x200 的缩略图中:

private Bitmap DrawModelSpaceToThumbnail(Database db)
{// 1. 创建 200x200 的缩略图画布Bitmap thumbnail = new Bitmap(200, 200);using (Graphics g = Graphics.FromImage(thumbnail)){g.SmoothingMode = SmoothingMode.AntiAlias; // 抗锯齿g.Clear(Color.White); // 背景色// 2. 获取模型空间的实体(示例简化逻辑)var modelSpaceEntities = GetModelSpaceEntities(db); // 3. 计算坐标变换参数(关键!)// 假设模型空间的最大范围是 (0,0) 到 (1000, 1000),缩略图尺寸 200x200double scale = 200.0 / 1000.0; // 缩放比例(模型空间单位 → 像素)float offsetX = 0; // 平移偏移(可根据需要调整)float offsetY = 0;// 4. 绘制每个实体foreach (Entity entity in modelSpaceEntities){switch (entity){case Line line:// 将 CAD 坐标转换为缩略图坐标PointF start = new PointF((float)(line.StartPoint.X * scale) + offsetX,(float)(line.StartPoint.Y * scale) + offsetY);PointF end = new PointF((float)(line.EndPoint.X * scale) + offsetX,(float)(line.EndPoint.Y * scale) + offsetY);// 用 Graphics 绘制线段g.DrawLine(Pens.Blue, start, end);break;case Circle circle:// 转换圆心和半径PointF center = new PointF((float)(circle.Center.X * scale) + offsetX,(float)(circle.Center.Y * scale) + offsetY);float radius = (float)(circle.Radius * scale);// 绘制圆形g.DrawEllipse(Pens.Red, center.X - radius, center.Y - radius, 2 * radius, 2 * radius);break;// 其他实体类型(如 Polyline、Arc 等)类似处理...}}}return thumbnail;
}// 辅助方法:获取模型空间中的实体(需根据实际 CAD 库调整)
private List<Entity> GetModelSpaceEntities(Database db)
{List<Entity> entities = new List<Entity>();using (BlockTable blockTable = (BlockTable)db.BlockTableId.Open(OpenMode.ForRead))using (BlockTableRecord modelSpace = (BlockTableRecord)blockTable[BlockTableRecord.ModelSpace].Open(OpenMode.ForRead)){foreach (ObjectId entityId in modelSpace){if (entityId.IsErased) continue;entities.Add((Entity)entityId.Open(OpenMode.ForRead));}}return entities;
}

关键注意事项

  1. 坐标变换:CAD 模型空间的坐标通常很大(如以米 / 毫米为单位),需要根据缩略图尺寸计算缩放比例(scale = 缩略图宽度 / 模型空间宽度),确保图形适配到小画布。
  2. 实体类型支持:需针对不同 CAD 实体(LineCirclePolylineText 等)编写对应的绘制逻辑,Graphics 提供了 DrawLineDrawEllipseDrawString 等方法覆盖常见类型。
  3. 性能优化:若模型空间包含大量实体,建议过滤掉小尺寸或不可见的实体(如隐藏层、极细线条),避免缩略图过于复杂。

总结

Graphics 是 .NET 中用于二维绘图的核心工具,结合 CAD 库提取模型空间的几何数据后,可以通过坐标变换将模型空间的图形绘制到缩略图中。实际开发中需根据 CAD 库的具体 API(如 AutoCAD 的 ObjectARX、Teigha 的 Rx 库)调整实体获取和坐标转换逻辑。

http://www.dtcms.com/wzjs/499349.html

相关文章:

  • 网站开发 维护岗位职责搜资源的搜索引擎
  • 贵阳好的网站建设公司短视频营销成功案例
  • vuejs做视频网站设计seo外链增加
  • 怎么样做购物网站谷歌seo顾问
  • 色轮配色网站百度推广退款投诉
  • 风水网站建设多少钱外贸seo网站推广
  • 天津网站建设-中国互联优化营商环境发言材料
  • 做房产网站能赚钱吗新网域名注册
  • 网站建设的基本费用网络推广怎么找客户
  • 一小时学做网站搜索引擎营销的实现方法有哪些
  • 有关建设网站的英语文献百度关键词查询排名
  • 潍坊知名网站建设怎么收费怎样免费给自己的公司做网站
  • 局域网网站建设软件深圳seo推广外包
  • jsp网站开发答辩海外推广代理商
  • 一站式建设网站网站排名优化培训
  • 做一个网站花多少钱店铺运营方案策划
  • 长春人文学院前端seo是什么意思
  • 网站开发模块就业前景中国的搜索引擎有哪些
  • 做类似淘宝网站怎么做的快速排名网站
  • django网站开发视频搭建一个app平台要多少钱
  • 资兴市网站建设哪个好市场调研方法有哪些
  • 微积壹佰 网站建设收录批量查询工具
  • 站长统计是什么意思网络营销案例ppt课件
  • 做课展网站网站维护
  • kuake自助建站系统源码百度搜索数据
  • 深圳建设交易公司济南seo公司报价
  • wordpress 文章 路径厦门seo排名优化方式
  • 百度网站的优点seo的外链平台有哪些
  • 网站域名选择安卓手机优化软件哪个好
  • 做网站公司有什么出路百度霸屏推广多少钱一个月