置百丈玄冰而崩裂,掷须臾池水而漂摇。
ASP.NET

[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 0评论

ASP.NET

[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 0评论

ASP.NET

C# 应用程序重启

C# 程序重启开发

一、winfrom的 Restart方法

示例:

  Application.Restart();


二、Process.Start 和 Process.Exit

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


强强 2023/9/23 0评论

ASP.NET

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 0评论

ASP.NET

vs 预编译复制文件

  <Target Name="PreBuild" BeforeTargets="PreBuildEvent">

    <Exec Command="Copy $(ProjectDir)Lib\*.dll $(TargetDir)" />//复制$源文件地址$目标地址

  </Target>


2023/6/2 0评论

ASP.NET

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 0评论

ASP.NET

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

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


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

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

强强 2023/4/23 0评论

ASP.NET

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

错误表现:

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


原因分析

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


分析解决:

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

代码:

强强 2023/2/6 0评论