.gif 画像を使用して .bmp ストリップ画像ファイルに変換するために、誰かが私に指示または案内してくれるかどうか疑問に思っていました。
4 に答える
まず、gif のサイズを取得する必要があります。次に、フレームがいくつあるかを調べる必要があります。
その後、高さ = 元の高さ、幅 = フレーム数 * Gif 幅で新しい画像を作成する必要があります。
次に、元の Gif のフレームを次のようにストリップに貼り付ける必要があります。フレーム N はピクセル N*幅から始まります。
それは、水平方向のストリップを作成している場合です。
コンソール アプリケーションの完全なコードは次のとおりです。
using System.Drawing;
using System.Drawing.Imaging;
foreach (var arg in args)
{
Image gif = Image.FromFile(arg);
FrameDimension dim = new FrameDimension(gif.FrameDimensionsList[0]);
int frames = gif.GetFrameCount(dim);
Bitmap resultingImage = new Bitmap(gif.Width * frames, gif.Height);
for (int i = 0; i < frames; i++)
{
gif.SelectActiveFrame(dim, i);
Rectangle destRegion = new Rectangle(gif.Width * i, 0, gif.Width, gif.Height);
Rectangle srcRegion = new Rectangle(0, 0, gif.Width, gif.Height);
using (Graphics grD = Graphics.FromImage(resultingImage))
{
grD.DrawImage(gif, destRegion, srcRegion, GraphicsUnit.Pixel);
}
}
resultingImage.Save("res.png", ImageFormat.Png);
}
結果のイメージは、コンパイルされたコンソール アプリのバイナリ ファイル ディレクトリに という名前で保存されますres.png
。ソースファイルがある場所に結果の画像をアプリに保存させたり、水平または垂直のストリップを作成するかどうかを尋ねたりすることができます.
画像ストリップの作成は、Photoshop で簡単に行うことができます (無料の試用版または Elements を入手できます)。
- .gif を開く - Photoshop は各フレームをレイヤーとして開きます
- キャンバスのサイズを (gif * レイヤーの高さ) ピクセルに変更します
- すべてのフレーム情報を削除し、レイヤーを保持
- 最後のレイヤーを選択し、一番下に移動します
- すべてのレイヤーを選択し、[垂直方向の中心を分散] をクリックします。これで、完全に配置されたストリップが完成しました。
Photoshop を使用している場合は、BMP としてエクスポートできます。それでおしまい。
確かに機能する方法は次のとおりです。
- インストールする Easy GIF Animator をダウンロードする
- それを使用してツアー gif を開き、フレームを別のファイルにエクスポートします。
- レイヤーを作成できる任意のプログラムをダウンロードしてインストールします (例: Photoshop CS3 Little)。
- 画像として新しいファイル幅を作成します。高さ = あなたの写真の高さ。X枚の写真
- 各写真をコピーします。レイヤーとして新しいファイルに入れ、それらを次々に移動します。
- .png ファイルとして保存します
- インストール iPAQ 31x Image Explorer のダウンロード
- その中にあなたの.pngを開きます
- aRGB ファイルとして保存します (通常の BMP は機能しない場合があります)。
- 終わり!!
最も簡単な方法ではないかもしれませんが、正確な編集の可能性があり、透明な背景にあるアイコンのストリップを作成できます (ただし、アイコンに限定されません)。
.gif をビットマップにロードし、.bmp に保存するだけです。.gif のフレームをエクスポートしたい場合、これを行う方法がわかりません。このwww.eggheadcafe.com/articles/stripimagefromanimatedgif.aspを見ることができます。探しているもののようです。