簡體   English   中英

圖像裁剪C#沒有.net庫

[英]Image cropping C# without .net library

任何人都可以建議如何裁剪圖像,讓我們說jpeg,而不使用任何.NET框架結構,只是原始字節? 因為這是Silverlight中唯一的*方式...

還是指向圖書館?

我不關心渲染我想在上傳之前操縱jpg。

* Silverlight中沒有可用的GDI +(System.Drawing)或WPF(System.Windows.Media.Imaging)庫。

Lockbits需要GDI +,澄清問題

使用fjcore: http//code.google.com/p/fjcore/調整大小但無法裁剪:(

你可以輕松地在fjcore中自己寫作。 從Resizer的代碼開始

http://web.archive.org/web/20140304090029/http://code.google.com:80/p/fjcore/source/browse/trunk/FJCore/Resize/ImageResizer.cs?

和FilterNNResize - 你可以看到圖像數據是如何存儲的 - 它只是簡單的像素數組。

重要的是:

for (int y = 0; y < _newHeight; y++)
{
    i_sY = (int)sY; sX = 0;

    UpdateProgress((double)y / _newHeight);

    for (int x = 0; x < _newWidth; x++)
    {
        i_sX = (int)sX;

        _destinationData[0][x, y] = _sourceData[0][i_sX, i_sY];

        if (_color) {

            _destinationData[1][x, y] = _sourceData[1][i_sX, i_sY];
            _destinationData[2][x, y] = _sourceData[2][i_sX, i_sY];
        }

        sX += xStep;
    }
    sY += yStep;
}

向您顯示數據存儲在顏色平面數組中(1個元素表示8bpp灰色,3個元素表示顏色),每個元素都有一個2-D字節數組(x,y)用於圖像。

您只需要遍歷目標像素,然后從源中的適當位置進行復制。

編輯:不要忘記為fjcore的作者提供補丁

ImageMagick做得很好。 如果你可以將編輯任務交給你的服務器......

(說真的?在Silverlight中操作圖像的推薦方法是使用原始字節 ?那是......令人難以置信的蹩腳。)

我正在查看: http//code.google.com/p/fjcore/source/checkout一個無依賴圖像處理庫。

Silverlight在哪里執行? 是否有任何理由向客戶發送完整的圖片以使客戶端裁剪它? 在服務器上執行...(如果您沒有創建圖像編輯器...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM