我想裁剪从数据库中检索到的图像。我在网上找到了以下代码,但它是在vb中。我正在做基于asp.net c#的网页,我不知道vb
有人可以痛苦地向我提供以下vb代码的C#代码吗?
帮助非常值得,我非常感谢你。
以下是代码:
Dim ImageURL As String = "/Uploads/Gallery/" + ImageID + ".jpg"
Dim oBitmap As New Bitmap(Server.MapPath(ImageURL))
Dim Ratio As Integer = oBitmap.Width / 572
Try
Dim X1, Y1, X2, Y2, Width, Height As Integer
Try
X1 = x1txt.Text
Y1 = y1txt.Text
X2 = x2txt.Text
Y2 = y2txt.Text
Width = widthtxt.Text
Height = heighttxt.Text
Catch
End Try
X1 = X1 * Ratio
Y1 = Y1 * Ratio
X2 = X2 * Ratio
Y2 = Y2 * Ratio
Width = Width * Ratio
Height = Height * Ratio
Dim TopLeft As New Point(X1, Y1)
Dim BottomRight As New Point(CInt(X1) + CInt(Height), CInt(Y1) + CInt(Width))
Dim BitmapToSave As New Bitmap(oBitmap.Width, oBitmap.Height)
Dim objGraphics As System.Drawing.Graphics
objGraphics = System.Drawing.Graphics.FromImage(BitmapToSave)
objGraphics.DrawImage(oBitmap, 0, 0)
oBitmap.Dispose()
BitmapToSave = img.CropImage(BitmapToSave, TopLeft, BottomRight)
BitmapToSave.Save(Server.MapPath(ImageURL))
BitmapToSave.Dispose()
Catch
End Try
答案 0 :(得分:2)
尝试使用此工具执行此类操作:
我相信StackOverflow不是为你而做的一些工作!
答案 1 :(得分:2)
这是我的版本,手工完成,C#-orized。希望它没有拼写错误。我已经改变了try子句,因为它可能没有宽度和高度。
string imageUrl = "/Uploads/Gallery/" + ImageID + ".jpg";
Bitmap bitmap = new Bitmap(Server.MapPath(imageUrl));
int ratio = bitmap.Width / 572;
int x1,y1,x2,y2,width,height;
try
{
x1 = int.Parse(x1txt.Text);
y1 = int.Parse(y1txt.Text);
x2 = int.Parse(x2text.Text);
width = int.Parse(widthtxt.Text);
height = int.Parse(heightxt.Text);
x1 *= ratio;
y1 *= ratio;
x2 *= ratio;
y2 *= ratio;
width *= ratio;
Point topLeft = new Point(x1,y1);
Point bottomRight = new Point(x1 + height,y1 + width);
Bitmap bitmapToSave = new Bitmap(bitmap.Width,bitmap.Height);
using (Graphics graphics = Graphics.FromImage(bitmapToSave))
{
graphics.DrawImage(bitmap,0,0);
}
bitmapToSave = img.CropImage(bitmapToSave,topLeft,bottomRight);
bitmapToSave.Save(Server.MapPath(imageUrl));
}
catch (FormatException e)
{
// Log
}
答案 2 :(得分:1)
您可以使用此转换器:Convert VB.NET to C#
string ImageURL = "/Uploads/Gallery/" + ImageID + ".jpg";
Bitmap oBitmap = new Bitmap(Server.MapPath(ImageURL));
int Ratio = oBitmap.Width / 572;
try {
int X1 = 0;
int Y1 = 0;
int X2 = 0;
int Y2 = 0;
int Width = 0;
int Height = 0;
try {
X1 = x1txt.Text;
Y1 = y1txt.Text;
X2 = x2txt.Text;
Y2 = y2txt.Text;
Width = widthtxt.Text;
Height = heighttxt.Text;
} catch {
}
X1 = X1 * Ratio;
Y1 = Y1 * Ratio;
X2 = X2 * Ratio;
Y2 = Y2 * Ratio;
Width = Width * Ratio;
Height = Height * Ratio;
Point TopLeft = new Point(X1, Y1);
Point BottomRight = new Point(Convert.ToInt32(X1) + Convert.ToInt32(Height), Convert.ToInt32(Y1) + Convert.ToInt32(Width));
Bitmap BitmapToSave = new Bitmap(oBitmap.Width, oBitmap.Height);
System.Drawing.Graphics objGraphics = null;
objGraphics = System.Drawing.Graphics.FromImage(BitmapToSave);
objGraphics.DrawImage(oBitmap, 0, 0);
oBitmap.Dispose();
BitmapToSave = img.CropImage(BitmapToSave, TopLeft, BottomRight);
BitmapToSave.Save(Server.MapPath(ImageURL));
BitmapToSave.Dispose();
} catch {
}