我想使用GD库在PHP中调整图像大小。
我找到了this question,这对我帮助很大。它让我完全按照自己的意愿行事。我将默认值更改为import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
export const routes = [{
path: '',
component: parentComponent,
canActivate: [AuthGuard],
resolve: {
someData: someDataResolver
},
children: [
{ path: '',
resolve: {
someData2: someData2Resolver
},
children: [
{ path: '', redirectTo: '0', pathMatch: 'full' },
{ path: '0',
component: someComponent1,
resolve: {
someData1: someData1Resolver,
}
},
{ path: '2',
component: someComponent2,
}
... a bunch more children routes/components with resolvers
]
]
}]
而不是答案中的false,我还添加了一种调整png大小的方法。
这个true
函数对所有图像都有很好的效果,直到我想将this image缩小到400x128(横向)。
这创建了一个黑色图像。我甚至删除了我添加的部分,并使用了从问题中复制的普通函数,它仍然呈现黑色。这个特殊的图像似乎也遇到了其他图像尺寸的问题,例如400x400。如果您禁用裁剪选项,它将按预期工作。
函数中包含的数学有问题吗?我试着用纸上的数学代替我想要的数字变量,但我中途感到困惑。
PHPfiddle举个例子。尝试将第二行的值更改为其他值。它部分有效(不按比例,即使裁剪应按比例缩放)。
答案 0 :(得分:1)
当我调试它时,宽度为负。 所以,如果我将第9行更改为以下
$width = abs(ceil($width-($width*abs($r-$w/$h))));
它不再是黑色了。 我没有按预期检查公式是否正确,但abs()会使你的图像不再是黑色。