Objective-C の小さな PNG に基づいて、プログラムで大きな PNG を作成しようとしています。小さい方の PNG は、透かしとして使用しているロゴです。大きなPNGの右下隅に小さなPNGを配置したい。大きい PNG はソース ビデオのサイズである必要があり、背景は透明です。
私はこれを C# で動作させていますが、Objective-C で動作させる方法がよくわかりません。Image I/O ライブラリを使用する必要があると思います。
Bitmap bm;
int shortestSide;
if (videoWidth > videoHeight)
shortestSide = videoHeight;
else
shortestSide = videoWidth;
var logoDimension = (int)(shortestSide * 0.05);
Image logo;
if (logoDimension <= 16)
logo = Resources.watermark_16x16;
else if (logoDimension <= 24)
logo = Resources.watermark_24x24;
else if (logoDimension <= 36)
logo = Resources.watermark_36x36;
else if (logoDimension <= 48)
logo = Resources.watermark_48x48;
else if (logoDimension <= 54)
logo = Resources.watermark_54x54;
else
logo = Resources.watermark_64x64;
var logoPoint = new Point(videoWidth - logo.Width * 2, videoHeight - logo.Height * 2);
var image = new Bitmap(videoWidth, videoHeight, PixelFormat.Format32bppArgb);
using (var g = Graphics.FromImage(image))
{
g.DrawImageUnscaled(logo, logoPoint);
}
bm = image;
bm.Save(watermarkPath, ImageFormat.Png);
ありがとう!