javascript - 在 Angular 中使用滑块和画布调整图片大小
问题描述
在我的 Angular 应用程序中,我想用滑块调整图片的大小。
img: HTMLImageElement
pixelate(selectedActor, value){
if (value === 1) {
this.img = document.getElementById(selectedActor.toString()) as HTMLImageElement;
console.log(this.img)
}
console.log(this.img)
var canvas = <HTMLCanvasElement>document.getElementById("canvas");
var ctx = canvas.getContext("2d");
canvas.width = this.img.width / value;
canvas.height = this.img.height / value;
ctx.drawImage(this.img, 0, 0, canvas.width, canvas.height);
var target = new Image();
target.src = canvas.toDataURL()
return (target.src)
}
我value
从滑块中得到:
<mat-slider
class="my-auto"
[disabled]="disabled"
[invert]="invert"
max= 5
min= 1
step= 1
thumbLabel= true
tickInterval= 1
value= "1"
[(ngModel)]="value"
[vertical]=false
(input)="pixelize($event)">Pixelate
</mat-slider>
我尝试做的是始终具有相同的img
值,因此每当我调整它的大小时,我都会从相同的位置进行操作img
,并且可以来回调整它的大小。为了检查我是否总是使用相同的图像,我 console.log 它,但每次我更改value
,我img
的都是不同的。为什么我只设置了一次它的值?
解决方案
推荐阅读
- python - pandas 检查子集中的条件以获取值
- javascript - 如何使用 Google Drive api V3 将图像下载到浏览器客户端?
- graphql - 在 Nestjs 中使用 graphql 进行授权
- php - kylekatarnls/update-helper 安装失败
- python - 在指定位置创建均值 = 1 的高斯二维数组
- azure-devops - Azure DevOps AAD 选项卡将不存在的用户显示为已断开连接
- node.js - Postgres NodeJS 批量更新插入超时
- javascript - 用数据 ASP.NET CORE MVC Jquery 填充弹出模式
- php - Windows Server (IIS) + PHP7.4 - curl 的问题
- python - 无法将 chromedriver page_source 写入文件