-1

我使用 C# 和 Java 创建了一种跨语言随机纹理生成器,以帮助为我正在设计的 iPhone 应用程序设计背景。简而言之,我的程序首先生成一个随机字节数组来表示 Java 部分中的纹理,然后 C# 部分获取字节并创建一个位图,该位图保存到图像文件(Jpeg、Png 等)中。我已经让我的程序完美运行,除了当我将位图保存到一个文件时,它不使用扩展名保存,所以我在创建后无法查看图像。我有这行代码:

    bitMap.Save("testImage", System.Drawing.Imaging.ImageFormat.Jpeg);

它应该使用 Jpeg 扩展名保存位图,但它保存时没有扩展名。谁能帮我解决这个难题?

4

2 回答 2

0

MSDN中Bitmap.Save方法的第一个参数定义为

filename
Type: System.String
A string that contains the name of the file to which to save this Image.

您必须将此方法用作

bitMap.Save("testImage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

有关更多信息,请参阅文档。

于 2012-12-28T06:31:37.197 回答
0

如果您使用 jpeg 扩展名(.jpg 或 .jpeg)保存位图,则需要将文件格式与文件扩展名匹配。

看来您想支持多个扩展。为此,我将使用以下内容:

string extension = "";
switch (format)
{
 case (System.Drawing.Imaging.ImageFormat.Jpeg);
    extension = ".jpg"; break;
    .
    .
    .
}
bitMap.Save("testImage"+extension, System.Drawing.Imaging.ImageFormat.Jpeg);

根据所需的文件格式创建扩展名,然后使用该扩展名保存文件。

于 2012-12-28T06:32:04.673 回答