溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Bitmap圖像翻轉(zhuǎn)在C#中的實(shí)現(xiàn)

發(fā)布時(shí)間:2024-07-16 09:38:05 來(lái)源:億速云 閱讀:97 作者:小樊 欄目:編程語(yǔ)言

在C#中,可以通過(guò)使用System.Drawing命名空間中的Bitmap類來(lái)實(shí)現(xiàn)圖像翻轉(zhuǎn)。以下是一個(gè)簡(jiǎn)單的示例代碼,演示如何實(shí)現(xiàn)水平翻轉(zhuǎn)和垂直翻轉(zhuǎn):

using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        Bitmap originalImage = new Bitmap("original.jpg");

        Bitmap flippedHorizontalImage = FlipImage(originalImage, true, false);
        flippedHorizontalImage.Save("flipped_horizontal.jpg");

        Bitmap flippedVerticalImage = FlipImage(originalImage, false, true);
        flippedVerticalImage.Save("flipped_vertical.jpg");
    }

    static Bitmap FlipImage(Bitmap originalImage, bool flipHorizontal, bool flipVertical)
    {
        Bitmap flippedImage = new Bitmap(originalImage.Width, originalImage.Height);

        for (int x = 0; x < originalImage.Width; x++)
        {
            for (int y = 0; y < originalImage.Height; y++)
            {
                int newX = flipHorizontal ? originalImage.Width - x - 1 : x;
                int newY = flipVertical ? originalImage.Height - y - 1 : y;

                flippedImage.SetPixel(newX, newY, originalImage.GetPixel(x, y));
            }
        }

        return flippedImage;
    }
}

在這個(gè)示例中,FlipImage方法接受一個(gè)原始的Bitmap對(duì)象和兩個(gè)布爾值參數(shù),分別表示是否進(jìn)行水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。該方法通過(guò)遍歷原始圖片的每個(gè)像素,并根據(jù)是否需要翻轉(zhuǎn)來(lái)調(diào)整像素的位置,最后生成一個(gè)新的Bitmap對(duì)象作為翻轉(zhuǎn)后的圖像。

在主函數(shù)中,我們加載了一個(gè)名為"original.jpg"的原始圖像,并分別進(jìn)行水平翻轉(zhuǎn)和垂直翻轉(zhuǎn),最終保存為兩個(gè)新的圖像文件:“flipped_horizontal.jpg"和"flipped_vertical.jpg”。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI