hOLOlu LCD

C# Kayan Yazı Denemesi
This commit is contained in:
Mustafa ÖZKAYA
2015-03-10 05:29:32 +02:00
parent 72da4dd173
commit 89e1f8d694
98 changed files with 9450 additions and 0 deletions

View File

@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace TextDesignerCSLibrary
{
public class DrawGradient
{
public static bool Draw(Bitmap bmp, List<Color> colors, bool bHorizontal)
{
if(colors.Count==0)
return false;
if(colors.Count==1)
{
using (Graphics graph = Graphics.FromImage(bmp))
{
using (SolidBrush brush = new SolidBrush(colors[0]))
{
graph.FillRectangle(brush, 0, 0, bmp.Width, bmp.Height);
}
}
}
else if (bHorizontal)
{
using (Graphics graph = Graphics.FromImage(bmp))
{
int gradRectNum = colors.Count - 1;
int gradWidth = bmp.Width / gradRectNum;
int remainder = bmp.Width % gradRectNum;
int TotalWidthRendered = 0;
int WidthToBeRendered = 0;
for (int i = 0; i < gradRectNum; ++i)
{
int addRemainder = 0;
if (i < remainder)
addRemainder = 1;
WidthToBeRendered = gradWidth + addRemainder;
Rectangle rect = new Rectangle(TotalWidthRendered - 1, 0, WidthToBeRendered + 1, bmp.Height);
using (LinearGradientBrush brush = new LinearGradientBrush(rect, colors[i], colors[i + 1], LinearGradientMode.Horizontal))
{
graph.FillRectangle(brush, TotalWidthRendered, 0, WidthToBeRendered, bmp.Height);
}
TotalWidthRendered += WidthToBeRendered;
}
}
}
else
{
using (Graphics graph = Graphics.FromImage(bmp))
{
int gradRectNum = colors.Count - 1;
int gradHeight = bmp.Height / gradRectNum;
int remainder = bmp.Height % gradRectNum;
int TotalHeightRendered = 0;
int HeightToBeRendered = 0;
for (int i = 0; i < gradRectNum; ++i)
{
int addRemainder = 0;
if (i < remainder)
addRemainder = 1;
HeightToBeRendered = gradHeight + addRemainder;
Rectangle rect = new Rectangle(0, TotalHeightRendered - 1, bmp.Width, HeightToBeRendered + 1);
using (LinearGradientBrush brush = new LinearGradientBrush(rect, colors[i], colors[i + 1], LinearGradientMode.Vertical))
{
graph.FillRectangle(brush, 0, TotalHeightRendered, bmp.Width, HeightToBeRendered);
}
TotalHeightRendered += HeightToBeRendered;
}
}
}
return true;
}
}
}