最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.Net Winform 實現(xiàn)CSS3.0 潑墨畫效果(示例代碼)

 更新時間:2024年12月18日 09:59:11   作者:一包煙電腦面前做一天  
這篇文章主要介紹了.Net Winform 實現(xiàn)CSS3.0 潑墨畫效果,本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧

效果圖

代碼

private unsafe void BlendImages1(Bitmap img1, Bitmap img2)
{
    // 確定兩個圖像的重疊區(qū)域
    Rectangle rect = new Rectangle(0, 0,
        Math.Min(img1.Width, img2.Width),
        Math.Min(img1.Height, img2.Height));
    // 創(chuàng)建輸出圖像,尺寸為重疊區(qū)域大小
    Bitmap blendedImage = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);
    // Lock the bits of each image and get the BitmapData.
    BitmapData data1 = img1.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
    BitmapData data2 = img2.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
    BitmapData dataBlended = blendedImage.LockBits(rect, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
    int bytesPerPixel = 4; // For Format32bppArgb
    int stride1 = data1.Stride;
    int stride2 = data2.Stride;
    int strideBlended = dataBlended.Stride;
    byte* ptr1 = (byte*)data1.Scan0.ToPointer();
    byte* ptr2 = (byte*)data2.Scan0.ToPointer();
    byte* ptrBlended = (byte*)dataBlended.Scan0.ToPointer();
    for (int y = 0; y < rect.Height; ++y)
    {
        byte* rowPtr1 = ptr1 + y * stride1;
        byte* rowPtr2 = ptr2 + y * stride2;
        byte* rowPtrBlended = ptrBlended + y * strideBlended;
        for (int x = 0; x < rect.Width; ++x)
        {
            int pixelOffset = x * bytesPerPixel;
            if (pixelOffset + bytesPerPixel <= Math.Abs(stride1) &&
                pixelOffset + bytesPerPixel <= Math.Abs(stride2) &&
                pixelOffset + bytesPerPixel <= Math.Abs(strideBlended))
            {
                rowPtrBlended[pixelOffset] = (byte)(255 - ((255 - rowPtr1[pixelOffset]) * (255 - rowPtr2[pixelOffset]) >> 8)); // B
                rowPtrBlended[pixelOffset + 1] = (byte)(255 - ((255 - rowPtr1[pixelOffset + 1]) * (255 - rowPtr2[pixelOffset + 1]) >> 8)); // G
                rowPtrBlended[pixelOffset + 2] = (byte)(255 - ((255 - rowPtr1[pixelOffset + 2]) * (255 - rowPtr2[pixelOffset + 2]) >> 8)); // R
                rowPtrBlended[pixelOffset + 3] = (byte)255; // A
            }
        }
    }
    // Unlock the bits of each image after processing.
    img1.UnlockBits(data1);
    img2.UnlockBits(data2);
    blendedImage.UnlockBits(dataBlended);
    // Display the blended image.
    pictureBoxResult.Image = blendedImage;
}

素材

到此這篇關(guān)于.net winform 實現(xiàn)CSS3.0 潑墨畫效果的文章就介紹到這了,更多相關(guān).net winform CSS3.0 潑墨畫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • .NET中實現(xiàn)對象數(shù)據(jù)映射示例詳解

    .NET中實現(xiàn)對象數(shù)據(jù)映射示例詳解

    這篇文章主要為大家介紹了.NET中實現(xiàn)對象數(shù)據(jù)映射示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • asp.net 自制的單選、多選列表實現(xiàn)代碼

    asp.net 自制的單選、多選列表實現(xiàn)代碼

    在ASP.NET的頁面上,ListBox最終是渲染成select元素,而CheckListBox最終被渲染成div或者是table,使得二者的樣式無法統(tǒng)一,或者說要統(tǒng)一很麻煩。
    2009-08-08
  • asp.net core 屬性路由和約定路由的實現(xiàn)

    asp.net core 屬性路由和約定路由的實現(xiàn)

    ASP.NET Core中的WebAPI路由用于映射客戶端請求的URL到服務(wù)器端的控制器和操作方法,路由分為基于屬性的路由和約定路由兩種方式,本文就來介紹一下,感興趣的可以了解一下
    2025-01-01
  • asp.net 中文字符串提交亂碼的解決方法

    asp.net 中文字符串提交亂碼的解決方法

    現(xiàn)在為一家工作室做網(wǎng)站,在登陸模塊中涉及到前端頁面通過AJAX傳遞中文的用戶名和字母的密碼到后臺驗證,然后再把驗證后的信息返回到前端的過程。
    2009-11-11
  • ASP.NET實現(xiàn)根據(jù)IP獲取省市地址的方法

    ASP.NET實現(xiàn)根據(jù)IP獲取省市地址的方法

    這篇文章主要介紹了ASP.NET實現(xiàn)根據(jù)IP獲取省市地址的方法,主要基于QQwry.dat純真IP數(shù)據(jù)庫來實現(xiàn)這一功能,非常實用,需要的朋友可以參考下
    2014-10-10
  • .NET CORE HttpClient的使用方法

    .NET CORE HttpClient的使用方法

    這篇文章主要給大家介紹了關(guān)于.NET CORE HttpClient的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用.NET CORE具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • asp.net實現(xiàn)的DES加密解密操作示例

    asp.net實現(xiàn)的DES加密解密操作示例

    這篇文章主要介紹了asp.net實現(xiàn)的DES加密解密操作,結(jié)合具體實例形式分析了asp.net實現(xiàn)DES加密與解密算法的實現(xiàn)技巧,需要的朋友可以參考下
    2017-07-07
  • asp.net MVC利用ActionFilterAttribute過濾關(guān)鍵字的方法

    asp.net MVC利用ActionFilterAttribute過濾關(guān)鍵字的方法

    這篇文章主要介紹了asp.net MVC利用ActionFilterAttribute過濾關(guān)鍵字的方法,結(jié)合實例形式分析了ActionFilterAttribute過濾關(guān)鍵字的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • asp.net操作Word實現(xiàn)批量替換

    asp.net操作Word實現(xiàn)批量替換

    這篇文章主要介紹了asp.net操作Word實現(xiàn)批量替換的方法,需要的朋友可以參考下
    2015-10-10
  • 解析在.net中使用XSLT轉(zhuǎn)換xml文檔的示例詳解

    解析在.net中使用XSLT轉(zhuǎn)換xml文檔的示例詳解

    本篇文章是對在.net中使用XSLT轉(zhuǎn)換xml文檔的示例進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評論

云阳县| 云龙县| 长岭县| 丹东市| 阜平县| 敖汉旗| 鹰潭市| 三河市| 稷山县| 四子王旗| 孟村| 江都市| 杂多县| 会昌县| 黑河市| 汝城县| 库尔勒市| 积石山| 郴州市| 平凉市| 榆树市| 东阿县| 连州市| 韶关市| 眉山市| 南康市| 绥宁县| 合江县| 米泉市| 台东市| 惠来县| 东安县| 靖西县| 垣曲县| 台东县| 桃江县| 大名县| 平武县| 罗平县| 额敏县| 霍州市|