搜索插件、代码仓与 APP 分类

插件详情v0.1.0

image_watermark

用于在图像上添加文本或图片水印的 Flutter 包,您可以自定义水印的位置和颜色。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
900
喜欢数
64
Pub 分数
150

安装插件

flutter pub add image_watermark

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 包,可实现将文本或图像水印添加到图像中,并支持自定义位置和颜色。它支持多种平台,包括 Android、iOS、Web、macOS、Windows 和 Linux。开发者可以轻松地将水印功能集成到他们的应用程序中,用于保护图像或品牌宣传。该包提供了一个简单的 API 来定义水印内容、不透明度、对齐方式和偏移量,适用于静态和动态水印需求。

适合场景

  • 向图像添加版权信息
  • 用标志为照片添加品牌标识
  • 保护数字资产
  • 创建带水印的预览
  • 自定义水印外观

主要特点

  • 支持文本和图像水印
  • 可自定义的位置和对齐方式
  • 可调节的不透明度和颜色
  • 跨平台兼容性
  • 简单直观的 API
  • 可配置的偏移量和填充

适合对象

  • 图像编辑应用
  • 照片分享平台
  • 数字内容创作者
  • 电子商务应用
  • 需要图像保护的应用程序

使用建议

  • 需要在添加水印前加载图像
  • 性能可能随大图像而变化
  • 仅限基本水印样式
  • 无内置预览功能
  • 可能需要对复杂布局进行额外处理

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Image Watermark

Languages

Spanish

Image watermark is flutter pacakge to add text watermark and image watermark on image,you can customize the position of watermark and color.

Based on Image pacakge.

Check on pub.dev

Example code

Add watermark text at center of image,parameter image bytes and string and it returns image bytes

final watermarkedImg = 
  await ImageWatermark.addTextWatermark(
    imgBytes: imgBytes,
    watermarktext: 'watermarkText',
  );
final watermarkedImgBytes = 
    await ImageWatermark.addTextWatermark(
            imgBytes: imgBytes, ///image bytes
            watermarktext: 'watermarkText', ///watermark text
            color: Colors.white, ///default : Colors.black
          );

Change the position of watermark

final watermarkedImg = 
    await ImageWatermark.addTextWatermark(
            imgBytes: imgBytes,             ///image bytes
            watermarktext: 'watermarkText',      ///watermark text
            dstX: 20,                   ///position of watermark x coordinate
            dstY: 30,                   ///y coordinate
            color: Colors.green, ///default : Colors.black
          );

Add image as watermark on image

final watermarkedImgBytes = 
    await ImageWatermark.addImageWatermark(
            originalImageBytes: imgBytes,
            waterkmarkImageBytes: watermarkImgByte,
          );
final watermarkedImgBytes = 
    await ImageWatermark.addImageWatermark(
            originalImageBytes: imgBytes,  //image bytes
            waterkmarkImageBytes: imgBytes2, //watermark img bytes
            imgHeight: 200,   //watermark img height
            imgWidth: 200,    //watermark img width
            dstY: 400, //watermark position Y
            dstX: 400, //watermark position X
          );
Add Fonts

Image package only have arial Fonts, you can change the font converting a .ttf font in .fnt format:

  1. Download your font in .ttf format.

  2. Convert the font to .fnt format using the next site.

  3. Use ImageFont class, readOtherFontZip if you use .zip file; readOtherFont if you unzip and get the .fnt & .png files.

Example to change fonts

Add the font in pubspec.yaml:

  assets:
  - path/to/font.zip

Then use it as follows:

final assetFont = await rootBundle.load('path/to/font.zip');

final font = assetFont.buffer.asUint8List(assetFont.offsetInBytes, assetFont.lengthInBytes);

final bitMapFont = ImageFont.readOtherFontZip(font);

...

await ImageWatermark.addTextWatermark(
  imgBytes: imgBytes,
  font: bitMapFont, /// Font from .zip
  watermarkText: 'watermark text',
  dstX: 20,
  dstY: 40,
)

Screenshots

Screenshot

Screenshot

Screenshot

所属分类

依赖

依赖清单 1 项

源码仓库

使用此插件的项目

暂无相关数据。