相关疑难解决方法(0)

将位图转换为图标

我正在尝试将位图转换为图标.但是有一些错误,因为结果文件只是空白.

private void btnCnvrtSave_Click(object sender, EventArgs e)
{
    Bitmap bmp = new Bitmap(sourceFile);  //sourceFile = openfiledialog.FileName;
    IntPtr Hicon = bmp.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!");

    //Process.Start(sfd.FileName);
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多来弄清楚问题,但不能.请告诉我问题出在哪里.

.net c# winforms

18
推荐指数
3
解决办法
3万
查看次数

将图标文件保存到硬盘驱动器

我知道这一定非常容易 - 令人难以置信的是,基于VB6的简单程度,我已经多久寻找了这个问题的答案.我只想使用Icon.ExtractAssociatedIcon从EXE文件中提取一个图标,然后将此图标文件保存到我的硬盘中.

所以,这就是我所拥有的,而且我也会告诉你我所尝试过的东西,所以你不要以为我是懒惰的.

OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();

string s = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\IconData.ico";

Icon ico = Icon.ExtractAssociatedIcon(ofd.FileName);
Bitmap bmp = ico.ToBitmap();

bmp.Save(s, System.Drawing.Imaging.ImageFormat.Icon);
Run Code Online (Sandbox Code Playgroud)

上面的代码只是在我的桌面上创建一个名为"IconData.ico"的文件,其长度为0个字节.再说一次,我确信这一定非常容易,但对于我的生活,我无法弄明白.

谢谢!

c# icons extract save filestream

9
推荐指数
1
解决办法
1万
查看次数

如何在不失透明度的情况下将图像转换为图标?

我有PNG图像,我需要在显示之前将其转换为图标.

我就这样做了:

public Icon ImageToIcon(Image imgTest)
{
    Bitmap bitmap = new Bitmap(imgTest);
    Icon icoTest;

    IntPtr iPtr = bitmap.GetHicon();
    icoTest = (Icon) Icon.FromHandle(iPtr).Clone();

    return icoTest;
}
Run Code Online (Sandbox Code Playgroud)

这样做后我失去了透明度,alpha透明图像没有按预期呈现....这可以解决吗?

c# alpha-transparency winforms

8
推荐指数
1
解决办法
1910
查看次数

标签 统计

c# ×3

winforms ×2

.net ×1

alpha-transparency ×1

extract ×1

filestream ×1

icons ×1

save ×1