我们正在Chrome浏览器中捕获可见标签(使用扩展API chrome.tabs.captureVisibleTab)并在数据URI方案中接收快照(Base64编码的字符串).
是否有可用于将图像缩小到特定大小的JavaScript库?
目前我们正在通过CSS设计它,但必须支付性能损失,因为图片大多比所需的大100倍.另外一个问题是我们用来保存快照的localStorage的负载.
有没有人知道处理这种数据URI方案格式化图片的方法,并通过缩小它们来减小它们的大小?
参考文献:
javascript base64 image-manipulation google-chrome-extension image-scaling
缩放2D图像阵列的最佳方法是什么?例如,假设我有一个1024 x 2048字节的图像,每个字节都是一个像素.每个像素都是从0到255的灰度级.我希望能够通过任意因子缩放此图像并获得新图像.因此,如果我将图像缩放0.68倍,我应该得到一个大小为0.68*1024 x 0.68*2048的新图像.一些像素将相互折叠.并且,如果我按比例缩放3.15,我会得到一个更大的图像,像素被复制.那么,实现这一目标的最佳方法是什么?
接下来,我希望能够将图像旋转任意角度,范围为0到360度(0 - 2Pi).旋转后裁剪图像不是问题.最好的方法是什么?
制作此宏,将活动目录中的图像插入到Excel电子表格中,然后将其缩小以适应单元格.除了来自源的图像,它们的方向/旋转在EXIF数据中定义之外,它的效果非常好.所以在:
这完全归功于相机的一些遗留问题,即拍摄图像.有人发布了类似的问题,但它被标记为重复,错误,并且自那以后一直被忽略.我确实发现这个不起眼的帖子是有人联系了一个exif阅读器类,我测试了它,它给了我Orientation所有图像的相同值.
问题:照片正常旋转(YAY!),但它的位置是向右(Boo!)和/或200行向下35-80列,并且缩放因为它混合了宽度和高度字段(Boo) !x2).
这是我的代码:
For Each oCell In oRange
If Dir(sLocT & oCell.Text) <> "" And oCell.Value <> "" Then
'Width and Height set to -1 to preserve original dimensions.
Set oPicture = oSheet.Shapes.AddPicture(Filename:=sLocT & oCell, LinktoFile:=msoFalse, savewithdocument:=msoTrue, Left:=oCell.Left + 10, Top:=oCell.Top + 10, Width:=-1, Height:=-1)
oPicture.LockAspectRatio = True
'Scales it down
oPicture.Height …Run Code Online (Sandbox Code Playgroud) 我有一个用Java编写的Web应用程序(Spring,Hibernate/JPA,Struts2),用户可以上传图像并将其存储在文件系统中.我想缩放这些图像,使它们具有一致的大小,以便在网站上显示.哪些库或内置函数将提供最佳结果?在做出决定时,我会考虑以下标准(按此顺序):
我试图做与链接问题相同的事情,但使用C#.我正在显示缩放图像,并允许用户选择要裁剪的区域.但是,我不能从缩放的图像选择中获取x1y1,x2y2坐标并从原始图像中裁剪出来.我试过像其他问题那样做一些基本的数学,但这显然也不是正确的方法(它肯定更接近).
编辑
原始图像尺寸: w = 1024 h = 768
缩放图像尺寸: w = 550 h = 412
我从图像开始,比如1024x768.我希望它在550x550的盒子中尽可能大.我正在使用以下方法来获得缩放的图像大小(同时保持纵横比).然后我对这些新维度进行基本调整.
对于选择区域,它可以是任何(0,0)到(100,100).
private static Rectangle MaintainAspectRatio(Image imgPhoto, Rectangle thumbRect)
{
int sourceWidth = imgPhoto.Width; int sourceHeight = imgPhoto.Height; int sourceX = 0; int sourceY = 0; int destX = 0; int destY = 0;
float nPercent = 0;
float nPercentW = 0;
float nPercentH = 0;
nPercentW = ((float)thumbRect.Width / (float)sourceWidth);
nPercentH = ((float)thumbRect.Height / (float)sourceHeight);
//if we have to pad the height …Run Code Online (Sandbox Code Playgroud) 我在设置我正在使用的CMS中的图像的最大宽度时遇到问题.在Chrome中(尚未在其他浏览器中测试),设置最大宽度会拉伸我插入的图像的高度 - 请参阅此处:http://www.literarykitchen.co.uk/events/testspace/
这是我正在使用的代码:
#content .pagebanner img { max-width:490px; }
Run Code Online (Sandbox Code Playgroud)
有什么理由让它像那样伸展吗?我认为maxwidth意味着图像按比例缩放?
谢谢
奥苏
我正在将一些图像上传到我们的GDrive帐户(通过API),因此我可以在我们的webapp中发布它们.
我喜欢发布thumbnailLink,因为=s您可以将图像缩放到所需的宽度.
但现在我发现了一个问题:
这个问题提出了两个问题:
为什么会这样?
无论如何,我可以保持相同的thumbnailLink并使其永久工作?
edition:在文件文档(https://developers.google.com/drive/v2/reference/files)中说只有downloadUrl具有短期值
我想问你一些双线性插值/缩放细节.我们假设我们有这个矩阵:
|100 | 50 |
|70 | 20 |
Run Code Online (Sandbox Code Playgroud)
这是一个2 x 2灰度图像.现在,我想将它缩放两倍,我的矩阵看起来像这样:
| 100 | f1 | 50 | f2 |
| f3 | f4 | f5 | f6 |
| 70 | f7 | 20 | f8 |
Run Code Online (Sandbox Code Playgroud)
所以如果我们想计算f4,计算定义为
f1 = 100 + 0.5(50 - 100) = 75
f7 = 70 + 0.5(20 - 70) = 45
Run Code Online (Sandbox Code Playgroud)
现在终于:
f4 = 75 + 0.5(45 - 75) = 60
Run Code Online (Sandbox Code Playgroud)
但是,我无法真正理解f3或f1适合的计算
我们是否分别在每个方向进行双线性缩放?因此,这意味着:
f3 = 100 + …Run Code Online (Sandbox Code Playgroud) interpolation image image-processing linear-interpolation image-scaling
我一直在研究一些依赖于使用CSS/JavaScript缩小大图像的东西.在Safari 5.1问世之前,我注意到Safari中的图像非常流畅,但在Chrome中却出现了锯齿状.现在Safari 5.1似乎和Chrome一样糟糕.
该image-renderingCSS属性似乎不有所作为.网上关于它的大多数帖子似乎来自想要最近邻平滑而不是双三次的人,而我需要相反:让我的图像更平滑.
我附上了两张照片.一个显示Safari中的缩放和Firefox中的另一个缩放.如果你看一下左侧模特的手臂,你可以看到它们之间的区别.

我正在开发一个Midlet应用程序.我发现自己需要经常缩放图像.这已经成为一个问题,因为有些手机很慢,缩放时间太长.
目前我正在使用Image.createRGBImage(int,int,int,boolean)来缩放图像.
我想知道你们中是否有人知道一种非常有效和快速的图像缩放方式.
注意:这是一个Midlet应用程序,因此只有JavaME可用,这意味着我无法访问完整Java版本中可用的其他库.
注意2:我的大部分缩放都是从小图像到大图像完成的,尽管我也缩小了图像.