ผมดูแล้วเหมือนว่า รูปที่ 2 จะคมกว่าหรือปล่าวครับ
รูปที่ 2 ใช้ e.Graphics.DrawImage
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้ e.Graphics.DrawImage(ExtGraphics_Maths.ImageFromNumber(number, 100, 100), xC, yC);
รูปแรก ใช้
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้Page.DrawImageInPage(ExtGraphics_Maths.ImageFromNumber(number,100,100), xC, yC);
public void DrawImageInPage(Image image, double PosX, double PosY, double width, double height)
{
//Add Element
double Left = Document.leftMarginPixel + PosX;
double Top = Document.PaperHeight - Document.topMarginPixel - PosY;
double Bottom = Top - height;
double Right = Left + width;
PdfImage Image1 = new PdfImage(Document);
Image1.Resolution = 600.0;
Image1.ImageQuality = 100;
Image1.LoadImage(image);
// adjust image size and preserve aspect ratio
PdfRectangle ImageArea = new PdfRectangle(Left, Bottom, Right, Top);
PdfRectangle NewArea = PdfImageSizePos.ImageArea(Image1, ImageArea, ContentAlignment.MiddleCenter);
// clipping path
PdfDrawCtrl DrawCtrl = new PdfDrawCtrl();
DrawCtrl.Shape = DrawShape.Oval;
DrawCtrl.Paint = DrawPaint.Border;
DrawCtrl.BorderWidth = 0.04 * 25.4;
DrawCtrl.BorderColor = Color.DarkBlue;
DrawCtrl.BackgroundTexture = Image1;
PdfContents Contents = new PdfContents(this);
// draw image
Contents.DrawGraphics(DrawCtrl, NewArea);
Contents.DrawImage(Image1, NewArea);
}
ซึ่งรูปก็จะมาจาก ExtGraphics_Maths.ImageFromNumber เหมือนกันครับ
ปล. ถ้าอยากให้ภาพชัดขึ้น ต้องเขียนโค้ดยังไง ครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้public static Bitmap ImageFromNumber(int number, string imag_1)
{
if (number < 1) return null;
Bitmap img1 = new Bitmap(imag_1);
int x, y;
int cy = (number - (number % 5)) / 5;
// ปรับขนาดของรูปภาพที่จะสร้างขึ้น
int width = ((number <= 5) ? number : 5) * img1.Width;
int height = ((cy == 0) ? 1 : cy + 1) * img1.Height;
// สร้าง Bitmap ด้วยคุณสมบัติความละเอียดที่สูงขึ้น
Bitmap img3 = new Bitmap(width, height, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(img3);
g.Clear(Color.White);
x = 0;
y = 0;
for (int i = 1; i <= number; i++)
{
g.DrawImage(img1, new Point(x, y));
if (i % 5 == 0)
{
x = 0;
y += img1.Height;
}
else
{
x += img1.Width;
}
}
g.Dispose();
img1.Dispose();
return img3;
}
public static Bitmap ResizeImage(this Image image, int width, int height)
{
if (image == null) return new Bitmap(width, height);
int _width = 10, _height = 10;
_width = Math.Min(image.Width, width);//(image.Width <= width) ? image.Width:width;
_height = Math.Min(image.Height,height); //(image.Height <= height)?image.Height:height;
var destRect = new Rectangle(0, 0, _width, _height);
var destImage = new Bitmap(_width, _height, PixelFormat.Format32bppArgb);
// if (image == null ) return destImage;
//
destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);
using (var graphics = Graphics.FromImage(destImage))
{
graphics.CompositingMode = CompositingMode.SourceCopy;
graphics.CompositingQuality = CompositingQuality.HighQuality;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
using (var wrapMode = new ImageAttributes())
{
wrapMode.SetWrapMode(WrapMode.TileFlipXY);
graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
}
}
return destImage;
}
ช่วยดูภาพให้หน่อยครับ ว่า 2 รูปนี้มีความคมเท่ากันหรือไม่ ครับ
ผมดูแล้วเหมือนว่า รูปที่ 2 จะคมกว่าหรือปล่าวครับ
รูปที่ 2 ใช้ e.Graphics.DrawImage
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
รูปแรก ใช้
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ซึ่งรูปก็จะมาจาก ExtGraphics_Maths.ImageFromNumber เหมือนกันครับ
ปล. ถ้าอยากให้ภาพชัดขึ้น ต้องเขียนโค้ดยังไง ครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้