gpt4 book ai didi

c# - 没有.net库的图像裁剪C#

转载 作者:太空狗 更新时间:2023-10-29 23:04:53 26 4
gpt4 key购买 nike

谁能建议如何裁剪图像,比如说 jpeg,而不使用任何 .NET 框架结构,只使用原始字节?因为这是 Silverlight 中唯一*的方式...

或者指向图书馆?

我不关心渲染我想在上传前处理 jpg。

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

Lockbits 需要 GDI+,澄清问题

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

最佳答案

您可以轻松地在 fjcore 中自己编写 crop。从 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 个元素用于颜色)并且每个元素都有一个二维字节数组 (x, y) 用于图像。

您只需遍历目标像素,然后从源中的适当位置进行复制。

编辑:别忘了给fjcore的作者提供补丁

关于c# - 没有.net库的图像裁剪C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com