X の高さと Y の幅がランダムなビットマップ ファイルをプログラムで作成したいと思います。
内容は、私にとっては無関係です。それはすべて白く、空である可能性があります。重要なのは寸法です。
Windows API を使用してそれを行うには?
Windows APIを使用してビットマップファイルを作成しますか?これには特定のヘルパーはありません。ただし、BMPファイルは非常に単純です。
BITMAPFILEHEADER
ます。BITMAPINFO
ます。BITMAPINFO
書き出します。MSDNには、その方法を示すサンプルコードを含む記事があります。
Microsoft .NET 2.0 Framework がインストールされていると思います。(1.1も使えます)。
メモ帳を使用して、次のコードで test.cs ファイルを作成します。
namespace test
{
class Program
{
static void Main(string[] args)
{
if (args.Length == 3)
new System.Drawing.Bitmap(System.Convert.ToInt32(args[0]), System.Convert.ToInt32(args[1]))
.Save(args[2] + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
else
System.Console.WriteLine("Usage: test.exe 100 200 filename");
}
}
}
次に、次のコードで test.cmd ファイルを作成します。
@echo off
%windir%\Microsoft.NET\Framework\v2.0.50727\csc.exe /t:exe test.cs
test.cmd を実行
text.exe を実行
.Netでは、ビットマップオブジェクトを新しくすることができます。
Image myImage = new Bitmap(width, height);
Windows APIを使用してイメージを作成することを本当に主張する場合は、Gdi32.dllを使用する必要があります。C#では、
dllファイルをアセンブリにインポートして、で外部メソッドを使用できるようにします
DllImport ["Gdi32.dll"]
HBITMAP CreateCompatibleBitmap( HDC hdc、 int nWidth、 int nHeight );
次に、このビットマップから次のようにビットマップクラスを呼び出します。
ビットマップbmp=Bitmap.FromHbitmap(nameOfBitmap); bmp.Save( "C:\ NewImage.jpg");
ここのmsdnページに例があります
GDI+ には、C++ で BMP 画像をロード/保存するコマンドが含まれています。次のサンプル コードは、画像をロードして保存する方法を示しています: BMP 画像を PNG 画像に変換する。Bitmap クラスには、幅、高さ、およびピクセル形式を使用して空のイメージを作成するctorもあります。