小编kak*_*ott的帖子

将位图转换为图标

我正在尝试将图像从BitmapWindows图标转换为Windows图标.这是代码.

private void btnCnvrtSave_Click(object sender, EventArgs e)
{
    Bitmap bmp = (Bitmap)picturePanel.BackgroundImage;
    Bitmap newBmp = new Bitmap(bmp);
    Bitmap targetBmp = newBmp.Clone(new Rectangle(0, 0, newBmp.Width, newBmp.Height), PixelFormat.Format64bppArgb);
    IntPtr Hicon = targetBmp.GetHicon();
    Icon myIcon = Icon.FromHandle(Hicon);

    SaveFileDialog sfd = new SaveFileDialog();
    sfd.Title = "Save Icon";
    sfd.Filter = "Icon|*.ico";
    sfd.ShowDialog();

    FileStream fileStream = new FileStream(sfd.FileName,FileMode.OpenOrCreate);
    myIcon.Save(fileStream);
    fileStream.Flush();
    fileStream.Close();

    MessageBox.Show("Image is converted successfully!");
}
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但问题是,当我将图片转换为图标时,转换后的图标会丢失其真实颜色和渐变(如图所示).那么,有没有什么方法可以转换图像而不会失去它的颜色?

这就是我的图标.

转换前后

c# icons image bitmap winforms

11
推荐指数
1
解决办法
5974
查看次数

计算屏幕上的按键数量

如何统计c#应用程序中屏幕上按下的总键数?就像应用程序在后面运行而我正在输入...然后我可以看到我按下了多少键.谢谢.

c# keypress

-1
推荐指数
1
解决办法
3140
查看次数

标签 统计

c# ×2

bitmap ×1

icons ×1

image ×1

keypress ×1

winforms ×1