【JavaScript脚本宇宙】加速您的网站:图像优化工具和库的终极指南

别让大图拖垮你的应用:如何正确优化图像

前言

在数字时代,图像是我们日常生活中不可或缺的一部分。然而,随着图像数量的增加和分辨率的提高,它们也占据了越来越多的存储空间和带宽。为了解决这个问题,开发人员可以使用各种图像优化工具和技术来减小图像文件的大小,同时保持其质量不变。本文将介绍几个流行的图像优化库和工具,并比较它们的特点和适用场景。

欢迎订阅专栏:JavaScript脚本宇宙

文章目录

  • 别让大图拖垮你的应用:如何正确优化图像
    • 前言
    • 1. ImageOptim:一个用于图像优化的工具
      • 1.1 主要功能
        • 1.1.1 无损压缩
        • 1.1.2 批量处理
        • 1.1.3 支持多种格式
      • 1.2 使用场景
        • 1.2.1 网站性能提升
        • 1.2.2 应用开发中的图像优化
        • 1.2.3 电商平台的图片展示
      • 1.3 优缺点分析
        • 1.3.1 优点
        • 1.3.2 缺点
    • 2. Squoosh:一个用于图像压缩和优化的Web应用
      • 2.1 主要功能
        • 2.1.1 浏览器端操作
        • 2.1.2 多种压缩算法支持
        • 2.1.3 实时预览与对比
      • 2.2 使用场景
        • 2.2.1 前端开发优化
        • 2.2.2 快速图像调整
        • 2.2.3 应用内嵌图像压缩
      • 2.3 优缺点分析
        • 2.3.1 优点
        • 2.3.2 缺点
    • 3. imagemin:一个JavaScript图像压缩库
      • 3.1 主要功能
        • 3.1.1 插件式架构
        • 3.1.2 支持多种图像格式
        • 3.1.3 高效的压缩率
      • 3.2 使用场景
        • 3.2.1 构建工具集成
        • 3.2.2 自动化图像优化
    • 4. sharp:高性能的Node.js图像处理库
      • 4.1 主要功能
        • 4.1.1 图片裁剪、旋转、调整大小
        • 4.1.2 支持多种格式转换
        • 4.1.3 并行处理加快速度
    • 5. Jimp:一个纯JavaScript图像处理库
      • 5.1 主要功能
        • 5.1.1 支持无依赖运行
        • 5.1.2 丰富的图像处理API
        • 5.1.3 灵活的插件扩展
      • 5.2 使用场景
        • 5.2.1 前端和后端通用
        • 5.2.2 图像滤镜应用
        • 5.2.3 电子商务平台图片管理
      • 5.3 优缺点分析
        • 5.3.1 优点
        • 5.3.2 缺点
    • 6. gl-react:基于React的WebGL图像处理库
      • 6.1 主要功能
        • 6.1.1 基于WebGL的高效渲染
        • 6.1.2 可复用的React组件
        • 6.1.3 支持实时图像效果
      • 6.2 使用场景
        • 6.2.1 Web应用中的图像特效
        • 6.2.2 移动应用中的图像处理
        • 6.2.3 图像直播流优化
      • 6.3 优缺点分析
        • 6.3.1 优点
        • 6.3.2 缺点
    • 总结

1. ImageOptim:一个用于图像优化的工具

ImageOptim是一款功能强大的图像优化工具,它可以在保持图像质量的同时,显著减小图像文件的大小。它支持多种常见的图像格式,并提供了丰富的选项来满足不同的需求。无论是网站性能提升、应用开发还是电商平台的图片展示,ImageOptim都能帮助你轻松实现图像的优化。

1.1 主要功能

1.1.1 无损压缩

ImageOptim采用了先进的压缩算法,可以在不损失图像质量的前提下减小文件大小。它会自动尝试不同的压缩方法,以找到最佳的平衡点。

使用示例:

const imageoptim = require('imageoptim');
const fs = require('fs');
const path = require('path');

// Read the original image file
const inputPath = path.join(__dirname, 'input.jpg');
const originalImage = fs.readFileSync(inputPath);

// Optimize the image using ImageOptim
const optimizedImage = imageoptim({
  input: originalImage,
  plugins: ['optipng', 'mozjpeg'], // 指定使用的插件(可选)
});

// Save the optimized image to disk
const outputPath = path.join(__dirname, 'output.jpg');
fs.writeFileSync(outputPath, optimizedImage);
1.1.2 批量处理

ImageOptim支持批量处理图像,这意味着用户可以一次性优化多个图像而无需逐个进行操作。这极大地提高了工作效率,特别是当用户需要处理大量图像时。除了无损压缩,批量处理还允许用户对图像进行其他操作,如重新命名、调整尺寸等。

完整JavaScript实例代码:

const imageoptim = require('imageoptim-cli');
const path = require('path');

// 指定输入目录和输出目录
const inputDir = '/path/to/input/images';
const outputDir = '/path/to/output/images';

// 批量处理所有图像并保存到输出目录中
imageoptim({ inputDir, outputDir, batch: true })
    .then(() => console.log('Images processed successfully.'))
    .catch(err => console.error(err));
1.1.3 支持多种格式

ImageOptim支持多种常见的图像格式,包括JPEG、PNG、GIF和SVG等。这意味着用户可以根据具体需求选择最适合的格式来优化图像。此外,ImageOptim还能够自动检测并保留图像的元数据,如EXIF信息和色彩配置文件等。

1.2 使用场景

1.2.1 网站性能提升

对于网站来说,图像通常是影响加载速度的主要因素之一。使用ImageOptim对网站中的图像进行优化后,可以显著减小文件大小,加快页面加载速度,提升用户体验。

1.2.2 应用开发中的图像优化

在移动应用开发过程中,图像资源的质量和大小对应用的性能和启动速度有很大影响。使用ImageOptim可以自动化地对图像进行优化,确保应用在运行时的流畅度。

1.2.3 电商平台的图片展示

电商平台上通常会展示大量的产品图片,这些图片往往较大且数量较多。使用ImageOptim对这些图片进行优化可以减小服务器负载,提高页面加载速度,并给用户提供更好的购物体验。

1.3 优缺点分析

1.3.1 优点
  • 高效性: ImageOptim采用了先进的压缩算法和多线程处理技术,可以在较短时间内完成大规模图像的优化工作。
  • 无损压缩: 在保持图像质量不变的前提下减小文件大小,不会对图像内容造成任何损失。
  • 可自动化: 通过命令行参数或配置文件可以实现自动化的图像优化流程,提高工作效率。
  • 跨平台支持: ImageOptim可以在macOS、Linux和Windows等操作系统上运行,满足不同用户的需求。
1.3.2 缺点
  • 命令行操作: ImageOptim是一个命令行工具,需要具备一定的终端操作知识才能使用。对于不熟悉命令行的用户来说,可能会有一定的学习成本。
  • 依赖外部库: ImageOptim依赖于一些外部库来实现某些特定的功能,如cwebp、pngquant等。在安装和使用ImageOptim时必须确保这些外部库已经正确安装并配置好。

2. Squoosh:一个用于图像压缩和优化的Web应用

Squoosh是一个网页端的图像压缩和优化工具,旨在帮助用户快速、方便地对图像进行处理。它利用先进的浏览器技术,直接在浏览器中对图像进行优化,而无需将图像上传到服务器。以下是Squoosh的主要功能和使用场景,以及它的优缺点分析。

2.1 主要功能

2.1.1 浏览器端操作

Squoosh可以直接在浏览器端进行图像处理,用户无需下载或安装任何软件。这使得Squoosh更加方便易用,同时也提高了图像处理的效率。

2.1.2 多种压缩算法支持

Squoosh支持多种图像压缩算法,包括JPEG、PNG、WebP等。用户可以根据自己的需求选择合适的压缩算法。

// 使用示例
const image = new Image();
image.src = "image.jpg";

const resizedImage = new Image();
resizedImage.src = image.src;
resizedImage.width *= 0.5;
resizedImage.height *= 0.5;
2.1.3 实时预览与对比

Squoosh可以在图像处理过程中提供实时预览,让用户直观地看到图像的变化。同时,Squoosh还提供了原始图像和处理后图像的对比功能,让用户更好地了解图像处理的效果。

// 使用示例
const image = new Image();
image.src = "image.jpg";

const processedImage = new Image();
processedImage.src = image.src;
processedImage.onload = () => {
  // 处理图像
  const canvas = document.createElement("canvas");
  const ctx = canvas.getContext("2d");
  ctx.drawImage(processedImage, 0, 0);
  // ...
}

官网链接:https://squoosh.app/

2.2 使用场景

2.2.1 前端开发优化

Squoosh非常适合前端开发者使用。在网页项目中,图片往往是影响页面加载速度的主要因素之一。通过使用Squoosh来优化图片资源,前端开发者可以减小图片文件的大小,提高页面的加载速度和用户体验。

2.2.2 快速图像调整

除了前端开发者,任何需要对图像进行调整的人都可以使用Squoosh。比如设计师、摄影师或市场营销人员,他们可能需要对图片进行裁剪、旋转、缩放等操作,或者调整图片的色彩、亮度等参数。Squoosh提供了简单易用的界面和功能,使得这些调整变得更加轻松快捷。

2.2.3 应用内嵌图像压缩

对于那些需要在应用程序中嵌入图像的场景,Squoosh也是一个很好的选择。它可以将原始图像压缩为较小的文件大小,并在保持较高质量的同时减小应用程序的体积。这样可以提高应用程序的加载速度和用户体验。

2.3 优缺点分析

2.3.1 优点
  • 网页端操作:用户可以直接在浏览器中进行图像压缩和优化,无需下载或安装其他软件,方便易用。
  • 多种压缩算法:支持多种常见的图像压缩算法,用户可以根据需求选择适合的算法来平衡图像质量和文件大小之间的关系。
  • 实时预览与对比:提供了实时预览和对比功能,用户可以即时查看压缩效果并进行调整。
  • 跨平台兼容性:作为网页应用,Squoosh可以在各种操作系统和设备上运行,具有良好的跨平台兼容性。
2.3.2 缺点
  • 处理速度受限于浏览器性能:由于Squoosh直接在浏览器中运行图像处理操作,其处理速度可能会受到浏览器性能的限制,尤其是在处理大规模或复杂图像时。

3. imagemin:一个JavaScript图像压缩库

Imagemin是一个用于图像优化的JavaScript库,它可以显著减小图像文件的大小,而不损失太多的质量。它是通过使用一系列插件来实现这一功能的,这些插件可以对图像进行各种优化操作。

3.1 主要功能

3.1.1 插件式架构

Imagemin采用插件式架构,允许用户根据需要选择和组合不同的优化插件。这样可以实现最大的灵活性和可扩展性。

例如,你可以使用JPEG压缩插件imagemin-jpegtran来减小JPEG图像的大小,或者使用SVG优化插件imagemin-svgo来减小SVG图像的大小。

3.1.2 支持多种图像格式

Imagemin支持多种图像格式,包括JPEG、PNG、GIF和SVG等。这意味着你可以在不改变图像格式的情况下对其进行优化。

3.1.3 高效的压缩率

Imagemin通过使用一些先进的算法和技术,如无损压缩、有损压缩和元数据去除等,可以实现高效的压缩率。这可以显著减小图像文件的大小,从而提高网站的加载速度。

例如,对于一张1MB的JPEG图像,经过Imagemin优化后,其大小可能会减小到原来的一半甚至更小。

3.2 使用场景

3.2.1 构建工具集成

Imagemin可以与一些流行的构建工具集成,如Webpack和Gulp等。这使得在构建过程中自动优化图像变得非常容易。

例如,你可以使用Gulp插件gulp-imagemin来自动化图像优化过程。只需在Gulpfile中添加几行代码,就可以在构建时自动优化所有图像文件。

3.2.2 自动化图像优化

Imagemin还可以用于自动化图像优化任务。例如,你可以创建一个脚本来定期优化你的图像文件夹中的文件。

例如,你可以使用以下命令来优化当前目录中的所有的JPEG、PNG和GIF文件:

const imagemin = require('imagemin');
imagemin(['*.{jpg,png,gif}'])
  .then(() => {
    console.log('Images optimized successfully!');
  })
  .catch((error) => {
    console.error('Error optimizing images:', error);
  });

这将在当前目录中搜索所有以.jpg.png.gif结尾的文件,并将其优化到同一目录下。

4. sharp:高性能的Node.js图像处理库

4.1 主要功能

Sharp是一个基于libvips的高性能Node.js图像处理库。它提供了丰富的功能,可以帮助开发人员快速且方便地对图像进行各种操作。主要功能包括:

4.1.1 图片裁剪、旋转、调整大小

Sharp支持对图像进行裁剪、旋转和调整大小等基本操作。通过简单的方法调用,开发人员可以轻松实现这些功能。以下是一个裁剪、旋转和调整大小的示例代码:

const sharp = require('sharp');

// Load an image
const image = sharp('input.jpg');

// Crop the image
image.crop(sharp.gravity.center, { width: 300, height: 200 });

// Rotate the image
image.rotate(90);

// Resize the image
image.resize(500, 375);

// Save the output image
image.toFile('output.jpg', (err, info) => {
  if (err) throw err;
  console.log(info);
});
4.1.2 支持多种格式转换

Sharp支持将图像转换为多种不同的文件格式,如JPEG、PNG、WebP等。这使得开发人员可以根据需求选择最佳的文件格式来保存或传输图像。下面是一个格式转换的示例代码:

const sharp = require('sharp');

// Load an image
const image = sharp('input.jpg');

// Convert the image to WebP format and save it
image.webp()
  .toFile('output.webp', (err, info) => {
    if (err) throw err;
    console.log(info);
  });
4.1.3 并行处理加快速度

由于使用了libvips库,Sharp在处理图像时可以充分利用多核CPU的优势进行并行处理。这意味着在处理大量图像时,Sharp可以显著提高性能并减少处理时间。以下是一个并行处理的示例代码:

const sharp = require('sharp');

// Load multiple images and process them in parallel using Promise.all()
Promise.all([
  sharp('image1.jpg').resize(100).toFile('output1.jpg'),
  sharp('image2.jpg').resize(200).toFile('output2.jpg'),
  sharp('image3.jpg').resize(300).toFile('output3.jpg')
]).then(() => {
  console.log('All images processed!');
}).catch(err => {
  console.error(err);
});

5. Jimp:一个纯JavaScript图像处理库

Jimp是一个基于JavaScript的、强大的图像处理库,可以在浏览器和Node.js环境中运行。它提供了一些基本的图像操作功能,同时允许用户通过插件扩展其功能。

5.1 主要功能

5.1.1 支持无依赖运行

Jimp可以在浏览器和Node.js环境中无依赖地运行,不需要额外的库或框架。这使得开发人员可以轻松地在不同的环境中使用Jimp进行图像处理。

5.1.2 丰富的图像处理API

Jimp提供了丰富的图像处理API,可以满足常见的图像处理需求。其中一些常用的API包括:

  • resize():调整图像的大小。
  • crop():裁剪图像。
  • rotate():旋转图像。
  • addText():向图像中添加文字。
  • colorize():为图像中的像素添加颜色。
  • blur():模糊图像。
  • invert():反转图像的颜色。

下面是一个使用Jimp调整图像大小的示例代码:

const Jimp = require('jimp');

// 读取图像文件
Jimp.read('image.jpg', (err, image) => {
  if (err) throw err;
  // 调整图像大小为300x300像素,并保持纵横比不变
  image.resize(300, 300).quality(60).write('new-image.jpg', (err) => {
    if (err) throw err;
    console.log('New image saved as new-image.jpg');
  });
});
5.1.3 灵活的插件扩展

除了内置的图像处理操作之外,Jimp还允许开发者创建自己的插件来实现更多的功能。通过简单的注册过程,开发者可以将自己的插件集成到Jimp中,以便在任何支持Jimp的环境中使用。例如,下面是一个自定义的插件示例,用于给图像添加边框:

const Jimp = require('jimp');

// Creating a simple plugin for adding a border around an image
Jimp.plugin({
  name: 'border',
  fn: function(size, color) {
    return this.crop(this.width() + size * 2, this.height() + size * 2) // enlarge the image to fit the border
      .rectangle(0, 0, this.width(), this.height(), color) // add the border color as a rectangle behind the image
      .crop(this.width(), this.height()); // remove the extra space created by the border
  }
});

5.2 使用场景

5.2.1 前端和后端通用

Jimp可以在浏览器和Node.js环境中运行,因此适用于前端和后端开发。用户可以在前端处理图像以实现即时预览效果,或者在后端处理图像以优化服务器上的图像资源。

5.2.2 图像滤镜应用

Jimp提供了许多内置的颜色调整功能,可以用于实现各种图像滤镜效果。例如,用户可以使用Jimp来实现黑白滤镜、复古滤镜、模糊滤镜等效果。

5.2.3 电子商务平台图片管理

Jimp可以用于电商平台的图片管理,例如对商品图片进行裁剪、缩放、加水印等操作,以便更好地展示商品信息并保护版权。

5.3 优缺点分析

5.3.1 优点
  • 无依赖: Jimp不需要其他库或软件的依赖,可以直接在JavaScript环境中使用。
  • 丰富功能集:Jimp提供了许多内置的图像处理功能,可以满足大部分常见的图像处理需求。
  • 插件扩展:Jimp支持插件扩展,用户可以根据自己的需求编写自定义的插件来扩展功能。
  • 易于使用:Jimp的API设计简洁易懂,学习曲线平缓。
5.3.2 缺点
  • 性能较低:由于是基于JavaScript实现的,Jimp的性能可能无法与一些底层语言(如C++)实现的图像处理库相比。
  • 缺少某些高级功能:虽然Jimp提供了丰富的图像处理功能,但仍有一些高级功能(如复杂形态学处理)尚未支持。

6. gl-react:基于React的WebGL图像处理库

gl-react是一个基于React的WebGL图像处理库,用于实现Web应用和移动应用中的图像特效。它通过使用WebGL进行高效渲染,并提供了一套可复用的React组件,使得开发人员可以轻松地将图像处理功能集成到他们的应用中。

6.1 主要功能

gl-react的主要功能包括基于WebGL的高效渲染、可复用的React组件和支持实时图像效果。

6.1.1 基于WebGL的高效渲染

gl-react利用WebGL技术进行图像渲染,相对于传统的DOM操作,具有更高的性能和效率。它可以在GPU上进行复杂的图像处理和计算,加快渲染速度。

6.1.2 可复用的React组件

gl-react提供了一组可复用的React组件,使开发人员能够轻松地添加图像特效到他们的应用中。这些组件可以是简单的图像过滤器,也可以是复杂的图像处理算法。通过组合和扩展这些组件,开发人员可以快速构建自定义的图像处理效果。以下是一个简单的示例代码,使用gl-react的可复用React组件为图像添加模糊效果:

import React, { Component } from 'react';
import { Surface, Blur } from 'gl-react';

class ImageWithBlur extends Component {
  render() {
    return (
      <Surface width={300} height={300}>
        <Blur>
          <Image src="path_to_image.jpg" />
        </Blur>
      </Surface>
    );
  }
}
6.1.3 支持实时图像效果

gl-react还支持实时图像效果,可以通过Stream组件将摄像头或视频流作为输入源,并在运行时动态地应用图像特效。这对于实现互动式的图像处理应用非常有用,例如实时美颜滤镜、动态背景替换等。以下是一个示例代码,使用gl-react的Stream组件将摄像头流作为输入源,并在上面应用模糊效果:

import React, { Component } from 'react';
import { Surface, Blur, Stream } from 'gl-react';

class VideoWithBlur extends Component {
  render() {
    return (
      <Surface>
        <Blur>
          <Stream type="getUserMedia" facingMode="environment" />
        </Blur>
      </Surface>
    );
  }
}

6.2 使用场景

6.2.1 Web应用中的图像特效

gl-react适用于各种Web应用场景中的图像特效需求。无论是简单的图像模糊还是复杂的图像合成,gl-react都能够提供高效且可定制的解决方案。开发人员可以通过组合不同的组件来实现丰富多样的图像特效,从而提升用户体验和视觉吸引力。

6.2.2 移动应用中的图像处理

由于gl-react采用了WebGL技术,它也可以在移动设备上运行,并在移动应用中实现高效的图像处理功能。这使得移动应用开发者可以利用gl-react来优化图像显示效果、减少资源占用,并提供更流畅的交互体验。

6.2.3 图像直播流优化

gl-react还可用于图像直播流优化,通过对直播画面进行实时处理和增强,提高图像质量和稳定性。这对于视频会议、在线教育、直播购物等领域的应用程序尤为重要,可以显著改善用户的观看体验。

6.3 优缺点分析

6.3.1 优点
  • 高性能:基于WebGL技术,提供高效的图像处理和渲染能力。
  • 可复用组件:提供一组可复用的React组件,简化了开发流程并提高了代码的可维护性。
  • 实时图像效果:支持实时应用图像效果,增强了用户的交互体验。
  • 跨平台兼容性:能够在Web和移动平台上运行,提供了跨平台的开发体验。
6.3.2 缺点
  • 依赖WebGL环境:需要浏览器或者设备支持WebGL才能正常工作。
  • 学习曲线:对于不熟悉WebGL和React的开发者来说,可能需要一定的学习成本。
  • 难以实现高度定制化的效果:虽然gl-react提供了丰富的配置选项和内置算法,但在某些情况下,可能无法满足高度定制化的图像处理需求。

总结

  1. ImageOptim:适用于批量处理的无损压缩工具,支持多种格式。
  2. Squoosh:browser-based应用程序,提供实时预览和多种压缩算法。
  3. imagemin:插件式JavaScript库,支持多种格式和高效压缩。
  4. sharp:高性能Node.js库,用于裁剪、旋转和调整图像大小。
  5. Jimp:纯JavaScript库,具有丰富的图像处理API和灵活的插件扩展。
  6. gl-react:基于WebGL的库,提供可复用的React组件和实时图像特效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/740303.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DIY灯光特效:霓虹灯动画制作教程

下面我们根据这张霓虹灯案例,教大家如何用智能动物霓虹灯闪烁的效果,大家可以根据思路,实现自己想要的动效效果,一起动手来做吧。 即时设计-可实时协作的专业 UI 设计工具 设置背景 新建画板尺寸为:800PX^600PX,设置背景色#120527。 绘制主题 输入自己喜欢文案,轮廓化,具体…

PHP-CGI的漏洞(CVE-2024-4577)

通过前两篇文章的铺垫&#xff0c;现在我们可以了解 CVE-2024-4577这个漏洞的原理 漏洞原理 CVE-2024-4577是CVE-2012-1823这个老漏洞的绕过&#xff0c;php cgi的老漏洞至今已经12年&#xff0c;具体可以参考我的另一个文档 简单来说&#xff0c;就是使用cgi模式运行的PHP&…

充电桩--充电桩智能化发展趋势

聚焦光伏产业、深耕储能市场、探究充电技术 小Q下午茶 相互交流学习储能和BMS相关内容 43篇原创内容 公众号 一、背景介绍 国家提出“新基建”以来&#xff0c;充电基础设施产业跃入人们的视线成为热门话题。充电基础设施作为充电网、车联网、能源网和物联网的连接器&…

JS对象、数组、字符串超详细方法

JavaScript 对象方法 对象创建的方式 对象字面量 var dog1 {name: "大黄",age: 2,speak: function () {console.log("汪汪");}, };使用Object构造函数 var dog2 new Object(); dog2.name "大黄"; dog2.age 2; dog2.speak function () …

卷积的通俗解释

以时间和空间两个维度分别理解卷积&#xff0c;先用文字来描述&#xff1a; 时间上&#xff0c;任何当前信号状态都是迄至当前所有信号状态的叠加&#xff1b;时间上&#xff0c;任何当前记忆状态都是迄至当前所有记忆状态的叠加&#xff1b;空间上&#xff0c;任何位置状态都…

初见:AntDB智能运维“三剑客“之ADC

引言 6月15日&#xff0c;PostgreSQL数据库技术峰会广州站圆满落幕。峰会上&#xff0c;亚信安慧数据库智能运维产品负责人李志龙介绍了AntDB的6大数据库引擎和3大工具产品能力。 这里的3大工具分别指&#xff1a; AntDB数据库迁移工具包 MTK 数据库智能运维平台 ACC AntDB数据…

SwiftUI 6.0(iOS 18/macOS 15)关于颜色 Color 的新玩法

概览 WWDC 2024 重装升级的 SwiftUI 6.0 让 Apple 不同平台&#xff08;iOS 18/macOS 15&#xff09;显得愈发的冰壶玉衡、美轮美奂。 之前梦寐以求的颜色混合功能在 WWDC 24 里终于美梦成真啦&#xff01; 在本篇博文中&#xff0c;您将学到如下内容&#xff1a; 概览1. 梦想…

this.$prompt 提示框增加文本域并修改文本域高度

2024.06.24今天我学习了如何对提示框增加文本域的方法&#xff0c;效果如下&#xff1a; 代码如下&#xff1a; <script>methods:{reject_event(){this.$prompt(驳回内容, 提示, {confirmButtonText: 确定,cancelButtonText: 取消,inputType: textarea,inputPlaceholder…

精益思想在机器人开发中的应用体现

精益思想源于制造业&#xff0c;旨在通过消除浪费、优化流程、持续改进来提升企业竞争力。在机器人开发中&#xff0c;精益思想同样具有指导意义。它要求开发团队在需求分析、设计、制造、测试等各个环节中&#xff0c;不断追求精益求精&#xff0c;力求在降低成本的同时提升产…

同元软控智能电动汽车数字化解决方案亮相CICV 2024

2024年6月18日-20日&#xff0c;由中国汽车工程学会、国家智能网联汽车创新中心、清华大学车辆与运载学院、清华大学智能绿色车辆与交通全国重点实验室举办的第十一届国际智能网联汽车技术年会&#xff08;CICV 2024&#xff09;在北京召开。苏州同元软控信息技术有限公司&…

C++并发之协程实例(四)(通过迭代器访问生成器序列)

目录 1 协程2 实例3 运行 1 协程 协程(Coroutines)是一个可以挂起执行以便稍后恢复的函数。协程是无堆栈的&#xff1a;它们通过返回到调用方来暂停执行&#xff0c;并且恢复执行所需的数据与堆栈分开存储。这允许异步执行的顺序代码&#xff08;例如&#xff0c;在没有显式回调…

【Linux】Centos升级到国产操作系统Openeuler

一、前言 迁移工具采用Openeuler官网提供的x2openEuler工具&#xff0c;是一款将源操作系统迁移到目标操作系统的迁移工具套件&#xff0c;具有批量化原地升级能力&#xff0c;当前支持将源 OS 升级至 openEuler 20.03。 官网链接&#xff1a;openEuler迁移专区 | 迁移专区首页…

8、MFC界面开发

界面开发 1、创建Ribbon样式的应用程序框架2、为Ribbon Bar添加控件2.1 下拉菜单2.2 添加消息处理函数 1、创建Ribbon样式的应用程序框架 创建MFC界面时选择样式为"Office"&#xff0c;然后再选择功能区。 2、为Ribbon Bar添加控件 Ribbon界面开发利用Ribbon Des…

lvs集群 Keepalived

Keepalived高可用集群 Keepalived概述 功能 LVS规则管理LVS集群真实服务器状态监测管理VIP Keepalived实现web高可用 安装keepalived软件 在webservers上配置 启动服务 webservers systemctl start keepalived.service ip a s | grep 192.168 #web1主机绑定vip 测试…

【gif制作】Win下视频生成GIF;工具GifCam单色保存,灰度保存,调速,编辑删除帧添加文本

下载地址 https://blog.bahraniapps.com/gifcam/#download https://gifcam.en.softonic.com/ 界面功能 GifCam 简洁、小巧的 gif 录制软件。GifCam就像照相机一样位于所有窗口的顶部&#xff0c;可以移动它并调整其大小录屏所需的区域。 如图&#xff1a;空闲状态下窗口内…

【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE

HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE 问题描述 uniapp开发微信小程序&#xff0c;在HBuilderx中运行到微信开发者工具时报错Error: Fail to open IDE 解决方案 1. 查看微信开发者工具端服务端口是否开放 打开微信开发者工具选择&#xff1…

探秘獭崎酱酒的“12987”工艺,品味纯正酱香

随着中国酱酒市场的不断发展&#xff0c;獭崎酱酒凭借其独特的“12987”酿造工艺&#xff0c;逐渐在白酒行业中崭露头角。今天&#xff0c;我们将深入探讨这一工艺的奥秘&#xff0c;并品味这款独具风味的酱香型白酒。      獭崎酱酒品牌创立于2015年&#xff0c;通过深入调…

小程序安卓手机点击uni-data-select 下拉框选择器会出现蓝色阴影

解决方法&#xff1a;在导入的包中找到uni-data-select.vue&#xff0c;接着找到.uni-stat__select样式&#xff0c;把cursor: pointer去掉。 如果出现穿透问题&#xff0c;uni-select__selector的z-index加高&#xff0c;默认是2。

Linux 字符型设备 + platform总线 + sysfs设备模型

1 概述 第一部分先简单介绍下字符型设备 platform总线 sysfs设备模型的关系。 1.1 . 字符设备驱动 Linux设备驱动分三种&#xff0c;包括字符设备驱动、块设备驱动和网络设备驱动。字符设备只能按字节流先后顺序访问设备内存&#xff0c;不能随机访问。鼠标、触摸屏、LCD等…

骑马与砍杀战团mod制作-基础-对话制作笔记(四)

骑马与砍杀战团mod制作-基础-对话制作笔记&#xff08;四&#xff09; 资料来源 学习的资料来源&#xff1a; b站【三啸解说】手把手教你做【骑砍】MOD&#xff0c;基础篇&#xff0c;链接为&#xff1a; https://www.bilibili.com/video/BV19x411Q7No?p4&vd_sourcea507…