Question

Je veux recadrer une image récupérée de la base de données. J'ai trouvé le code suivant sur le net mais c'est en VB. Je fais une page Web basée sur ASP.NET C # et je n'ai aucune idée de VB

Quelqu'un peut-il prendre de la douleur pour me donner le code C # au code VB suivant?

L'aide est très appréciable et je vous serais très reconnaissant.

Voici le code:

  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
Était-ce utile?

La solution

Vous pouvez utiliser ce convertisseur: Convertir vb.net en 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 {
}

Autres conseils

Essayez cet outil pour faire de telles choses:

Je crois que Stackoverflow n'est pas une communauté de travail pour vous!

Ceci est ma version, réalisée à la main et C #. J'espère qu'il n'a pas de fautes de frappe. J'ai changé la clause Try car elle aurait pu avoir des largeurs et des hauteurs nulles.

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
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top