这篇文章要讲的是如何将一张照片变成马赛克的照片,利用Canvas
中操作像素的方法可实现。马赛克的原理无非就是视觉上把原来的像素大小放大,将若干个小像素组成一个块变成大像素,比如可以将5*5
的像素当作一个块,在这个块中随机选择一个像素的颜色作为整个块的颜色即可。实现代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<script>
window.onload = function() {
let canvas = document.getElementById('test')
if(canvas.getContext) {
let ctx = canvas.getContext('2d')
// 把一个图片变成马赛克图片绘制到第一个图片的右侧区域
// 先把图片展示到画布上
let image = new Image()
image.src = 'imgs/miao.png'
// 加载图片
image.onload = function() {
canvas.width = image.width * 2
canvas.height = image.height
ct