强强的个人技术博客 医技科室软件(PACS, RIS)码农

[C#] C#png透明背景图转变白背景bmp图

C#png透明背景图转变白背景bmp图

透明背景图的png直接用转换成bmp打开会显示背景为黑色,如果想要白色背景图的处理方法:

if (File.Exists(pngPath))
{
	var bmpPath = string.Format("C:\\Temp\\{0}.bmp", userId);
	using (var bmpImg = Image.FromFile(pngPath))
	{
		using (var b = new Bitmap(bmpImg.Width, bmpImg.Height))
		{
			b.SetResolution(img.HorizontalResolution, img.VerticalResolution);
			using (var g = Graphics.FromImage(b))
			{
				g.Clear(Color.White);
				g.DrawImageUnscaled(bmpImg, 0, 0);
			}
			b.Save(bmpPath, ImageFormat.Bmp);
			b.Dispose();
		}
		bmpImg.Dispose();
	}
}


2023年12月14日 | 发布:强强 | 分类:ASP.NET | 评论:0

[C#]C#读取图像文件

C#读取图像文件的不锁定文件代码

/// <summary>
/// 读取图片文件
/// </summary>
/// <param name="path">图片文件路径</param>
/// <returns>图片文件</returns>
private Bitmap ReadImageFile(string path)
{
	Bitmap bitmap = null;
	try
	{
		using (var fileStream = File.OpenRead(path))
		{
			var filelength = (int)fileStream.Length;
			var image = new byte[filelength];
			fileStream.Read(image, 0, filelength);
			var result = Image.FromStream(fileStream);                   
			bitmap = new Bitmap(result);
		}
	}
	catch (Exception ex)
	{
		//  异常输出
		Console.WriteLine(ex.Message);
	}
	return bitmap;
}


2023年10月18日 | 发布:强强 | 分类:ASP.NET | 评论:0

[C#] C#连接 PostgreSQL

PostgreSQL作为目前最优秀的跨平台的开源数据库,其介绍及优点这里不再赘述,下面使用 Npgsql 连接数据库的方法

2023年10月10日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# 应用程序重启

C# 程序重启开发

一、winfrom的 Restart方法

示例:

  Application.Restart();


二、Process.Start 和 Process.Exit

System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location);
Application.Exit();


2023年9月23日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# 编码转换 utf8转gbk gbk转utf8 byte[]转string string转byte[]

utf8转gbk

public string 编码_utf8到gbk(string 要转化的文本) {
  var buffer = Encoding.UTF8.GetBytes(要转化的文本);
  buffer = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("GBK"), buffer);/
  return Encoding.GetEncoding("GBK").GetString(buffer);
}

gbk转utf8

2023年6月16日 | 发布:强强 | 分类:ASP.NET | 评论:0

WPF DataGrid 动态转换UI显示

今天用WPF的DataGrid  想要显示一个数据,数据库里面是 1,0 界面想要显示是否,就需要绑定的时候使用一个  WPF使用转换器(Converter)转换一下显示效果

首先定义一个转换器:

 [ValueConversion(typeof(string), typeof(string))]
    public class GreenChannelConvert : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string strValue = value.ToStr();
            if (strValue.IsNullOrWhiteSpace())
                return string.Empty;
            if (strValue == "1")
                return "是";
            return "否";

        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return null;
        }
    }

在UI的资源中声明这个转换器:

2023年6月14日 | 发布:强强 | 分类:ASP.NET | 评论:0

List集合去重、集合中根据对象的某个属性去重的方法(C#,JAVA)

List集合去重、集合中根据对象的某个属性去重的方法

根据集合中的指定节点去重的方法:

C#示例:

定义一个User对象:

 class User
    {
        public string name { get; set; }
        public int Age { get; set; }
    }


2023年6月13日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# winfrom listview控件滚动到底部

C#  winfrom listview控件滚动到底部

一、业务场景

我们在wifnrom项目中,经常使用listview控件,在滚动条一会,刷新显示第一行回看不到新增的记录

,就想定位到最后,官方没有给方法,下面给出一个可以实现的代码

二、解决方法:

listViewlist.Focus(); //聚焦光标
listViewlist.Items[listViewlist.Items.Count-1].Selected = true; //选中最后一行
listViewlist.Items[listViewlist.Items.Count - 1].EnsureVisible();//显示内容自动滚动到最后一行

例如:

2023年4月27日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# 操作图片的部分方法

C# 操作图片的部分方法,包含 图片加载、压缩、base64等

2023年4月24日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# 上传文件和数据到后台webapi

今天收到一个上传文档到后台文档的需求,使用客户端模拟上传文件和对应的数据到后台服务中,后台负责保存数据


主要使用:HttpWebRequest,WebResponse 对象操作

1、 HttpWebRequest 类支持在定义 WebRequest 的属性和方法,以及使用户能够使用 HTTP 与服务器直接交互的其他属性和方法。

2023年4月23日 | 发布:强强 | 分类:ASP.NET | 评论:0

JavaScript与C#进行时间戳转换

JavaScript和C#时间戳交互经常数据不一样,收集了一个可以对应的方法

2023年3月13日 | 发布:强强 | 分类:ASP.NET | 评论:0

C#代码中使用SqlSugar更新时报错:You cannot have no primary key and no conditions

今天现场一个项目,数据库是MySQL,由于重建了一次业务表忘记设置了自增主键,系统就一直报错:You cannot have no primary key and no conditions

重建表设置自增主键以后还是一样报错,重启服务也不可以。

代码中使用SqlSugar更新数据

解决方法:

Db.Updateable<User>(users).ExecuteCommand();

2023年3月7日 | 发布:强强 | 分类:ASP.NET | 评论:0

C#中lock集合后foreach报集合改变错误

错误表现:

多线程中,操作集合(Queue),已经lock集合了,中间使用了一次foreach循环,系统不定时报错


原因分析

foreach循环中,如果集合发送变化,就会报错.


分析解决:

1.测试lock在集合中是否不可用

代码:

2023年2月6日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# winform 全局异常捕获

捕获当前线程的方法:Application.ThreadException

例如:

2023年1月29日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# winform 监听键盘录入

我们再程序中监听键盘录入   窗口属性this.KeyPreview = true 可以让方法传递到窗口中由窗口监听

2023年1月17日 | 发布:强强 | 分类:ASP.NET | 评论:0

C# winform 鼠标操作时要判断是否按下Ctrl键

C# winfrom  鼠标操作时要判断是否按下Ctrl键


控件需要Ctrl+Click 实现多选

判断是否按住快捷键的方法:

(Control.ModifierKeys & Keys.Control) == Keys.Control


2023年1月17日 | 发布:强强 | 分类:ASP.NET | 评论:0