关于c#代码转为exe文件

1 篇文章 0 订阅

右击解决方案---点击添加--点击新建项目

搜索选择setup Project

 在解决方案配置选择Release ,对于setup文件右键,点击add,选择项目输出选择c#的项目,点击确定

 

 

对于Application Folder右击,点击Add---选择文件和项目输出,文件里对所有部分进行全选,点击打开,对于项目输出里,选择所要项目,点击主输出,点击确定。

 对于主输出的文件右击点击creat shortcut to 主输出 from 文件名(active)

右击setup文件,点击生成 

setup文件右击,点击在文件资源管理中打开文件夹,即为exe的生成文件部分 

点击Release文件,点击setup的msi文件,进入安装向导。

步骤中可能有冗余的步骤,敬请各位大佬指正。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C#将DXF文件转换为BMP文件的示例代码: ```csharp using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; using System.Windows.Forms; using netDxf; namespace DxfToBmpConverter { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void MainForm_Load(object sender, EventArgs e) { // Set default input and output file paths inputFilePathTextBox.Text = Path.Combine(Application.StartupPath, "sample.dxf"); outputFilePathTextBox.Text = Path.Combine(Application.StartupPath, "sample.bmp"); } private void browseInputFileButton_Click(object sender, EventArgs e) { // Show open file dialog and set selected file path as input file path OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "DXF Files (*.dxf)|*.dxf"; if (openFileDialog.ShowDialog() == DialogResult.OK) { inputFilePathTextBox.Text = openFileDialog.FileName; } } private void browseOutputFileButton_Click(object sender, EventArgs e) { // Show save file dialog and set selected file path as output file path SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "BMP Files (*.bmp)|*.bmp"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { outputFilePathTextBox.Text = saveFileDialog.FileName; } } private void convertButton_Click(object sender, EventArgs e) { // Check if input file exists if (!File.Exists(inputFilePathTextBox.Text)) { MessageBox.Show("Input file does not exist!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Load DXF file DxfDocument dxfDocument = DxfDocument.Load(inputFilePathTextBox.Text); // Calculate drawing bounds double minX = 0, minY = 0, maxX = 0, maxY = 0; foreach (DxfEntity entity in dxfDocument.Entities) { if (entity is DxfLwPolyline lwPolyline) { foreach (Vector2 vertex in lwPolyline.Vertexes) { if (vertex.X < minX) minX = vertex.X; if (vertex.X > maxX) maxX = vertex.X; if (vertex.Y < minY) minY = vertex.Y; if (vertex.Y > maxY) maxY = vertex.Y; } } else if (entity is DxfLine line) { if (line.StartPoint.X < minX) minX = line.StartPoint.X; if (line.StartPoint.X > maxX) maxX = line.StartPoint.X; if (line.StartPoint.Y < minY) minY = line.StartPoint.Y; if (line.StartPoint.Y > maxY) maxY = line.StartPoint.Y; if (line.EndPoint.X < minX) minX = line.EndPoint.X; if (line.EndPoint.X > maxX) maxX = line.EndPoint.X; if (line.EndPoint.Y < minY) minY = line.EndPoint.Y; if (line.EndPoint.Y > maxY) maxY = line.EndPoint.Y; } // Add additional cases for other entity types as needed } // Calculate drawing scale and size double drawingWidth = maxX - minX; double drawingHeight = maxY - minY; double drawingScale = Math.Max(drawingWidth, drawingHeight) / Math.Min(pictureBox.Width, pictureBox.Height); int bmpWidth = (int)Math.Round(drawingWidth / drawingScale); int bmpHeight = (int)Math.Round(drawingHeight / drawingScale); // Create bitmap and graphics objects Bitmap bmp = new Bitmap(bmpWidth, bmpHeight, PixelFormat.Format24bppRgb); Graphics graphics = Graphics.FromImage(bmp); graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.Clear(Color.White); // Draw entities onto bitmap foreach (DxfEntity entity in dxfDocument.Entities) { if (entity is DxfLwPolyline lwPolyline) { PointF[] points = new PointF[lwPolyline.Vertexes.Count]; for (int i = 0; i < lwPolyline.Vertexes.Count; i++) { points[i] = new PointF( (float)((lwPolyline.Vertexes[i].X - minX) / drawingScale), (float)((maxY - lwPolyline.Vertexes[i].Y) / drawingScale)); } graphics.DrawLines(new Pen(Color.Black, lwPolyline.Thickness), points); } else if (entity is DxfLine line) { PointF startPoint = new PointF( (float)((line.StartPoint.X - minX) / drawingScale), (float)((maxY - line.StartPoint.Y) / drawingScale)); PointF endPoint = new PointF( (float)((line.EndPoint.X - minX) / drawingScale), (float)((maxY - line.EndPoint.Y) / drawingScale)); graphics.DrawLine(new Pen(Color.Black, line.Thickness), startPoint, endPoint); } // Add additional cases for other entity types as needed } // Save bitmap to output file bmp.Save(outputFilePathTextBox.Text, ImageFormat.Bmp); // Clean up resources bmp.Dispose(); graphics.Dispose(); // Show success message MessageBox.Show("Conversion successful!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } ``` 请注意,这是一个简单的示例,可能不适用于所有情况。您可能需要根据您的需求进行更改和修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值