相关疑难解决方法(0)

从System.Drawing.Bitmap加载WPF BitmapImage

我有一个a的实例,System.Drawing.Bitmap并希望以一种形式将它提供给我的WPF应用程序System.Windows.Media.Imaging.BitmapImage.

对此最好的方法是什么?

c# wpf bitmap

217
推荐指数
8
解决办法
21万
查看次数

使用非黑色背景颜色将透明PNG转换为JPG

我在.Net中使用System.Drawing.Image进行从png到jpeg的简单转换.我基本上只使用这两行代码:

Image img = Image.FromFile(filename);
img.Save(newFilename, System.Drawing.Imaging.ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)

它工作正常,除了png文件由于alpha通道包含透明度.在这种情况下,转换的jpeg具有黑色背景.有没有办法让背景变白?

.net c# alpha-transparency image-conversion

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

保存位图时背景变黑 - C#

我目前正在尝试保存位图图像,但背景正在变为黑色.

我可以"另存为"图像完美无缺.我也可以"保存"图像.这更难,因为我不得不覆盖现有的图像.

但是,当我"保存"我的图像时,背景变黑了.我不知道是什么导致了它.

这是我的代码:

Bitmap tempImage = new Bitmap(DrawArea);

DrawArea.Dispose();

if (extension == ".jpeg")
    tempImage.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
else
    tempImage.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);

DrawArea = new Bitmap(tempImage);
pictureBox1.Image = DrawArea;

tempImage.Dispose();
Run Code Online (Sandbox Code Playgroud)

c# bitmap image-processing

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

bmp图像格式可以处理透明度

我正在制作这个C++程序,它有按钮,按钮容器,聊天框等,我想用纹理包裹它.

我想为我制作的所有矩形生成一个平滑的边缘,我不希望顶点绘图方法为它做的工作,因为它消耗更多的CPU使用而且看起来不是很好,我不知道是否它可以使用纹理坐标(即glTertCoord(u,v)glVertex2f(x,y) w/c应该只有4,因为它是一个四边形)

我用来加载纹理使用SDL_LoadBMP() w/c只能加载.bmp格式.(我不确定因为它只说LoadBMP).

所以我的问题是:

  • 可以在.BMP格式处理的透明度?如果是的话,该怎么做?

  • 你能告诉我一些代码样本使用SOIL来加载格式.gif的图像或任何其他可以处理图像透明度的格式吗?

  • 四边形可以处理六边形或星形的不规则/多边形形状而不绘制其背景吗?

另外的问题

*如何导入通过c ++ opengl呈现的原始文本框,以便将文本复制到剪贴板中?至于我的节目中的聊天会话.


我创建了自己的库,使用GL_POINTS绘制文本,并且在调整窗口大小时看起来不太好,因为这些点是分散的.这需要const char*避免文本,#include <*string*>因为我希望我的程序不依赖于C++的核心功能.

所以更好的解决方案是使用位图绘制它.

有人建议使用图像绘制它,所以我真的需要透明度的东西,因为我希望它只使用四边形绘制.

opengl glut soil visual-c++

6
推荐指数
2
解决办法
2万
查看次数

将透明PNG保存为透明GIF

我正在尝试调整透明png的大小并将其保存为单帧gif图像.让我们跳过调整大小的部分,当你尝试将透明png保存为gif时,你会在输出gif中看到黑色背景:

Bitmap n = new Bitmap(targetPngPath);
n.Save(@"C:\1.gif", ImageFormat.Gif);
Run Code Online (Sandbox Code Playgroud)

是的,我可以将黑色背景变成白色,但这不是我想要的.即使我可以使用MakeTransparentMethod 删除黑色,但它会删除图像中的每个黑色,我们将没有标准的透明图像.

我们也可以做一个TRICK保存gif图像,我们保留文件名扩展名,但我们会将其保存为PNG格式,如下所示:

n.Save(@"C:\1.gif", ImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

但它也不是标准的.那么有没有办法安全地保存透明的png作为具有透明度的gif图像?

PNG = 在此输入图像描述 GIF = 在此输入图像描述

用Photoshop =保存GIF 在此输入图像描述

c# image

3
推荐指数
1
解决办法
2246
查看次数

将inkCanvas中的图像保存为png或jpeg文件

Here is my wpf code <InkCanvas x:Name="inkCanvas" Margin="9,325,210,193" Background="Azure"></InkCanvas> And also there is a button When pressing the button, i want to save image drawn to a file. here is my code

  private void button1_Click(object sender, RoutedEventArgs e)
    {
        int margin = (int)inkCanvas.Margin.Left;
        int width = (int)inkCanvas.ActualWidth - margin;
        int height = (int)inkCanvas.ActualHeight - margin;
        RenderTargetBitmap rtb = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Default);
        rtb.Render(inkCanvas);


        using (FileStream fs = new FileStream("path", FileMode.Create))
        {
            BitmapEncoder encoder = new PngBitmapEncoder();
            encoder.Frames.Add(BitmapFrame.Create(rtb));
            encoder.Save(fs); …
Run Code Online (Sandbox Code Playgroud)

c# wpf png save inkcanvas

3
推荐指数
1
解决办法
2453
查看次数