
左半分だけ傾斜をかけた Rinkaku 画像。
このくらい濃い顔だと違和感があまりないので驚く。
public static Bitmap ConvertTo32(Bitmap bmp) { Bitmap result = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(result); g.DrawImage(bmp, 0, 0, bmp.Width, bmp.Height); g.Dispose(); return result; } public static Bitmap ConvertTo24(Bitmap bmp) { Bitmap result = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format24bppRgb); Graphics g = Graphics.FromImage(result); g.DrawImage(bmp, 0, 0, bmp.Width, bmp.Height); g.Dispose(); return result; } private void button1_Click(object sender, EventArgs e) { Bitmap bmp = new Bitmap(@"c:\Home\ImgWork\AJ12.png"); Bitmap rin = new Bitmap(@"c:\Home\ImgWork\ajrinkaku.jpg"); int w = bmp.Width; int h = bmp.Height; Bitmap tmp1 = ConvertTo32(rin); float[] position = { 0.0f, 0.38f, 0.48f, 0.58f, 1.0f }; float[] factor = { 1.0f, 0.9f, 0.6f, 0.1f, 0.0f }; SetGradientAlpha32(ref tmp1, factor, position, GradientSide.Left); Bitmap tmp2 = ConvertTo24(bmp); Graphics g = Graphics.FromImage(tmp2); g.DrawImage(tmp1, 0, 0, w, h); g.Dispose(); g = this.CreateGraphics(); g.DrawImage(tmp2, 0, 0, w, h); g.Dispose(); Clipboard.SetImage(tmp2); tmp2.Dispose(); tmp1.Dispose(); rin.Dispose(); bmp.Dispose(); }