色环,色轮,色盘,到底叫什么东西? 三角色xhsl 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 贴出部分代码瞧瞧本来想全部贴出来的,有限制,就画中间矩形那个吧/// <summary> /// 绘制中间的矩形 /// </summary> private void DrawSLBitmap() { if (slBitmap != null) slBitmap.Dispose(); int width = Math.Min(ClientSize.Width, ClientSize.Height)/2; if (width < 10) { slBitmap = null; return; } // Prepare Bitmap slBitmap = new Bitmap(width, width); BitmapData bmData; byte[] bytes; BitmapReadBytes(slBitmap, out bytes, out bmData); for (int y = 0; y < width; y++) { for (int x = 0; x < width; x++) { Color c = ColorMath.HslToRgb(new HslColor(hue, (byte) (x*255/width), (byte) (y*255/width))); BitmapSetPixel(bytes, bmData, x, y, c); } } BitmapWriteBytes(slBitmap, bytes, bmData); } private void BitmapReadBytes(Bitmap bmp, out byte[] bytes, out BitmapData bmData) { bmData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); const int bpp = 4; bytes = new byte[bmp.Width*bmp.Height*bpp]; Marshal.Copy(bmData.Scan0, bytes, 0, bytes.Length); } private void BitmapSetPixel(byte[] bytes, BitmapData bmData, int x, int y, Color c) { int i = y*bmData.Stride + x*4; bytes[i] = c.B; bytes[i + 1] = c.G; bytes[i + 2] = c.R; bytes[i + 3] = c.A; } private void BitmapWriteBytes(Bitmap bmp, byte[] bytes, BitmapData bmData) { Marshal.Copy(bytes, 0, bmData.Scan0, bytes.Length); bmp.UnlockBits(bmData); } private double GetDistance(Point a, Point b) { return Math.Sqrt((a.X - b.X)*(a.X - b.X) + (a.Y - b.Y)*(a.Y - b.Y)); } 求 facebook twitter 登录上传照片程序 c# winForm 如何将照片解析成XML文件 一个关于刷新的超级有意思的难题,路过不要错过啊! Message结构的成员Lparam、WParam、Result什么意思 c++ dll c#调用问题 文字效果问题 求助C#高级编程(第3版)的下载,最好是中文版的 多线程通讯的问题 获取一个网页内容的方法是什么? 关于编译后的程序 发愁问题急求:如何匹配一段C#代码中的函数名 FastReport 如何动态添加table的列
/// 绘制中间的矩形
/// </summary>
private void DrawSLBitmap()
{
if (slBitmap != null)
slBitmap.Dispose(); int width = Math.Min(ClientSize.Width, ClientSize.Height)/2;
if (width < 10)
{
slBitmap = null;
return;
} // Prepare Bitmap
slBitmap = new Bitmap(width, width); BitmapData bmData;
byte[] bytes;
BitmapReadBytes(slBitmap, out bytes, out bmData);
for (int y = 0; y < width; y++)
{
for (int x = 0; x < width; x++)
{
Color c = ColorMath.HslToRgb(new HslColor(hue, (byte) (x*255/width), (byte) (y*255/width)));
BitmapSetPixel(bytes, bmData, x, y, c);
}
}
BitmapWriteBytes(slBitmap, bytes, bmData);
} private void BitmapReadBytes(Bitmap bmp, out byte[] bytes, out BitmapData bmData)
{
bmData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadWrite,
PixelFormat.Format32bppArgb);
const int bpp = 4;
bytes = new byte[bmp.Width*bmp.Height*bpp];
Marshal.Copy(bmData.Scan0, bytes, 0, bytes.Length);
} private void BitmapSetPixel(byte[] bytes, BitmapData bmData, int x, int y, Color c)
{
int i = y*bmData.Stride + x*4;
bytes[i] = c.B;
bytes[i + 1] = c.G;
bytes[i + 2] = c.R;
bytes[i + 3] = c.A;
} private void BitmapWriteBytes(Bitmap bmp, byte[] bytes, BitmapData bmData)
{
Marshal.Copy(bytes, 0, bmData.Scan0, bytes.Length);
bmp.UnlockBits(bmData);
} private double GetDistance(Point a, Point b)
{
return Math.Sqrt((a.X - b.X)*(a.X - b.X) + (a.Y - b.Y)*(a.Y - b.Y));
}