Table des matières
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF,imagick水印
您可能感兴趣的文章:
Maison php教程 php手册 PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF,imagick水印

PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF,imagick水印

Jun 13, 2016 am 08:45 AM
gif imagick phpcms 水印 缩略图 裁剪

PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF,imagick水印

给骨头系统开发的图像库的 imagick 部分 ,支持 gif , 完美支持裁切、生成缩略图、添加水印 。

支持按方位生成缩略图像, 如:

// 把左上角优先
$image->resize_to(100, 100, 'north_west');
// 右边优先
$image->resize_to(100, 100, 'east');
...
Copier après la connexion

更多参数看源代码

原图

效果图:

调用方式:

include 'imagick.class.php'; 
$image = new lib_image_imagick(); 
$image->open('a.gif'); 
$image->resize_to(100, 100, 'scale_fill'); 
$image->add_text('1024i.com', 10, 20); 
$image->add_watermark('1024i.gif', 10, 50); 
$image->save_to('x.gif'); 
Copier après la connexion

imagick.class.php

<&#63;php 
/* 
@版本日期: 版本日期: 2012年1月18日 
@著作权所有: 1024 intelligence ( http://www.1024i.com ) 
获得使用本类库的许可, 您必须保留著作权声明信息. 
报告漏洞,意见或建议, 请联系 Lou Barnes(iua1024@gmail.com) 
*/ 

class lib_image_imagick 
{ 
private $image = null; 
private $type = null; 
// 构造函数 
public function __construct(){} 

// 析构函数 
public function __destruct() 
{ 
if($this->image!==null) $this->image->destroy(); 
} 
// 载入图像 
public function open($path) 
{ 
$this->image = new Imagick( $path ); 
if($this->image) 
{ 
$this->type = strtolower($this->image->getImageFormat()); 
} 
return $this->image; 
} 

public function crop($x=0, $y=0, $width=null, $height=null) 
{ 
if($width==null) $width = $this->image->getImageWidth()-$x; 
if($height==null) $height = $this->image->getImageHeight()-$y; 
if($width<=0 || $height<=0) return; 
if($this->type=='gif') 
{ 
$image = $this->image; 
$canvas = new Imagick(); 
$images = $image->coalesceImages(); 
foreach($images as $frame){ 
$img = new Imagick(); 
$img->readImageBlob($frame); 
$img->cropImage($width, $height, $x, $y); 
$canvas->addImage( $img ); 
$canvas->setImageDelay( $img->getImageDelay() ); 
$canvas->setImagePage($width, $height, 0, 0); 
} 
$image->destroy(); 
$this->image = $canvas; 
} 
else 
{ 
$this->image->cropImage($width, $height, $x, $y); 
} 
} 
/* 
* 更改图像大小 
$fit: 适应大小方式 
'force': 把图片强制变形成 $width X $height 大小 
'scale': 按比例在安全框 $width X $height 内缩放图片, 输出缩放后图像大小 不完全等于 $width X $height 
'scale_fill': 按比例在安全框 $width X $height 内缩放图片,安全框内没有像素的地方填充色, 使用此参数时可设置背景填充色 $bg_color = array(255,255,255)(红,绿,蓝, 透明度) 透明度(0不透明-127完全透明)) 
其它: 智能模能 缩放图像并载取图像的中间部分 $width X $height 像素大小 
$fit = 'force','scale','scale_fill' 时: 输出完整图像 
$fit = 图像方位值 时, 输出指定位置部分图像 
字母与图像的对应关系如下: 
north_west north north_east 
west center east 
south_west south south_east 
*/ 
public function resize_to($width = 100, $height = 100, $fit = 'center', $fill_color = array(255,255,255,0) ) 
{ 
switch($fit) 
{ 
case 'force': 
if($this->type=='gif') 
{ 
$image = $this->image; 
$canvas = new Imagick(); 
$images = $image->coalesceImages(); 
foreach($images as $frame){ 
$img = new Imagick(); 
$img->readImageBlob($frame); 
$img->thumbnailImage( $width, $height, false ); 
$canvas->addImage( $img ); 
$canvas->setImageDelay( $img->getImageDelay() ); 
} 
$image->destroy(); 
$this->image = $canvas; 
} 
else 
{ 
$this->image->thumbnailImage( $width, $height, false ); 
} 
break; 
case 'scale': 
if($this->type=='gif') 
{ 
$image = $this->image; 
$images = $image->coalesceImages(); 
$canvas = new Imagick(); 
foreach($images as $frame){ 
$img = new Imagick(); 
$img->readImageBlob($frame); 
$img->thumbnailImage( $width, $height, true ); 
$canvas->addImage( $img ); 
$canvas->setImageDelay( $img->getImageDelay() ); 
} 
$image->destroy(); 
$this->image = $canvas; 
} 
else 
{ 
$this->image->thumbnailImage( $width, $height, true ); 
} 
break; 
case 'scale_fill': 
$size = $this->image->getImagePage(); 
$src_width = $size['width']; 
$src_height = $size['height']; 
$x = 0; 
$y = 0; 
$dst_width = $width; 
$dst_height = $height; 
if($src_width*$height > $src_height*$width) 
{ 
$dst_height = intval($width*$src_height/$src_width); 
$y = intval( ($height-$dst_height)/2 ); 
} 
else 
{ 
$dst_width = intval($height*$src_width/$src_height); 
$x = intval( ($width-$dst_width)/2 ); 
} 
$image = $this->image; 
$canvas = new Imagick(); 
$color = 'rgba('.$fill_color[0].','.$fill_color[1].','.$fill_color[2].','.$fill_color[3].')'; 
if($this->type=='gif') 
{ 
$images = $image->coalesceImages(); 
foreach($images as $frame) 
{ 
$frame->thumbnailImage( $width, $height, true ); 
$draw = new ImagickDraw(); 
$draw->composite($frame->getImageCompose(), $x, $y, $dst_width, $dst_height, $frame); 
$img = new Imagick(); 
$img->newImage($width, $height, $color, 'gif'); 
$img->drawImage($draw); 
$canvas->addImage( $img ); 
$canvas->setImageDelay( $img->getImageDelay() ); 
$canvas->setImagePage($width, $height, 0, 0); 
} 
} 
else 
{ 
$image->thumbnailImage( $width, $height, true ); 
$draw = new ImagickDraw(); 
$draw->composite($image->getImageCompose(), $x, $y, $dst_width, $dst_height, $image); 
$canvas->newImage($width, $height, $color, $this->get_type() ); 
$canvas->drawImage($draw); 
$canvas->setImagePage($width, $height, 0, 0); 
} 
$image->destroy(); 
$this->image = $canvas; 
break; 
default: 
$size = $this->image->getImagePage(); 
$src_width = $size['width']; 
$src_height = $size['height']; 
$crop_x = 0; 
$crop_y = 0; 
$crop_w = $src_width; 
$crop_h = $src_height; 
if($src_width*$height > $src_height*$width) 
{ 
$crop_w = intval($src_height*$width/$height); 
} 
else 
{ 
$crop_h = intval($src_width*$height/$width); 
} 
switch($fit) 
{ 
case 'north_west': 
$crop_x = 0; 
$crop_y = 0; 
break; 
case 'north': 
$crop_x = intval( ($src_width-$crop_w)/2 ); 
$crop_y = 0; 
break; 
case 'north_east': 
$crop_x = $src_width-$crop_w; 
$crop_y = 0; 
break; 
case 'west': 
$crop_x = 0; 
$crop_y = intval( ($src_height-$crop_h)/2 ); 
break; 
case 'center': 
$crop_x = intval( ($src_width-$crop_w)/2 ); 
$crop_y = intval( ($src_height-$crop_h)/2 ); 
break; 
case 'east': 
$crop_x = $src_width-$crop_w; 
$crop_y = intval( ($src_height-$crop_h)/2 ); 
break; 
case 'south_west': 
$crop_x = 0; 
$crop_y = $src_height-$crop_h; 
break; 
case 'south': 
$crop_x = intval( ($src_width-$crop_w)/2 ); 
$crop_y = $src_height-$crop_h; 
break; 
case 'south_east': 
$crop_x = $src_width-$crop_w; 
$crop_y = $src_height-$crop_h; 
break; 
default: 
$crop_x = intval( ($src_width-$crop_w)/2 ); 
$crop_y = intval( ($src_height-$crop_h)/2 ); 
} 
$image = $this->image; 
$canvas = new Imagick(); 
if($this->type=='gif') 
{ 
$images = $image->coalesceImages(); 
foreach($images as $frame){ 
$img = new Imagick(); 
$img->readImageBlob($frame); 
$img->cropImage($crop_w, $crop_h, $crop_x, $crop_y); 
$img->thumbnailImage( $width, $height, true ); 
$canvas->addImage( $img ); 
$canvas->setImageDelay( $img->getImageDelay() ); 
$canvas->setImagePage($width, $height, 0, 0); 
} 
} 
else 
{ 
$image->cropImage($crop_w, $crop_h, $crop_x, $crop_y); 
$image->thumbnailImage( $width, $height, true ); 
$canvas->addImage( $image ); 
$canvas->setImagePage($width, $height, 0, 0); 
} 
$image->destroy(); 
$this->image = $canvas; 
} 
} 


// 添加水印图片 
public function add_watermark($path, $x = 0, $y = 0) 
{ 
$watermark = new Imagick($path); 
$draw = new ImagickDraw(); 
$draw->composite($watermark->getImageCompose(), $x, $y, $watermark->getImageWidth(), $watermark->getimageheight(), $watermark); 
if($this->type=='gif') 
{ 
$image = $this->image; 
$canvas = new Imagick(); 
$images = $image->coalesceImages(); 
foreach($image as $frame) 
{ 
$img = new Imagick(); 
$img->readImageBlob($frame); 
$img->drawImage($draw); 
$canvas->addImage( $img ); 
$canvas->setImageDelay( $img->getImageDelay() ); 
} 
$image->destroy(); 
$this->image = $canvas; 
} 
else 
{ 
$this->image->drawImage($draw); 
} 
} 

// 添加水印文字 
public function add_text($text, $x = 0 , $y = 0, $angle=0, $style=array()) 
{ 
$draw = new ImagickDraw(); 
if(isset($style['font'])) $draw->setFont($style['font']); 
if(isset($style['font_size'])) $draw->setFontSize($style['font_size']); 
if(isset($style['fill_color'])) $draw->setFillColor($style['fill_color']); 
if(isset($style['under_color'])) $draw->setTextUnderColor($style['under_color']); 
if($this->type=='gif') 
{ 
foreach($this->image as $frame) 
{ 
$frame->annotateImage($draw, $x, $y, $angle, $text); 
} 
} 
else 
{ 
$this->image->annotateImage($draw, $x, $y, $angle, $text); 
} 
} 

// 保存到指定路径 
public function save_to( $path ) 
{ 
if($this->type=='gif') 
{ 
$this->image->writeImages($path, true); 
} 
else 
{ 
$this->image->writeImage($path); 
} 
} 
// 输出图像 
public function output($header = true) 
{ 
if($header) header('Content-type: '.$this->type); 
echo $this->image->getImagesBlob(); 
} 

public function get_width() 
{ 
$size = $this->image->getImagePage(); 
return $size['width']; 
} 
public function get_height() 
{ 
$size = $this->image->getImagePage(); 
return $size['height']; 
} 
// 设置图像类型, 默认与源类型一致 
public function set_type( $type='png' ) 
{ 
$this->type = $type; 
$this->image->setImageFormat( $type ); 
} 
// 获取源图像类型 
public function get_type() 
{ 
return $this->type; 
} 

// 当前对象是否为图片 
public function is_image() 
{ 
if( $this->image ) 
return true; 
else 
return false; 
} 

public function thumbnail($width = 100, $height = 100, $fit = true){ $this->image->thumbnailImage( $width, $height, $fit );} // 生成缩略图 $fit为真时将保持比例并在安全框 $width X $height 内生成缩略图片 
/* 
添加一个边框 
$width: 左右边框宽度 
$height: 上下边框宽度 
$color: 颜色: RGB 颜色 'rgb(255,0,0)' 或 16进制颜色 '#FF0000' 或颜色单词 'white'/'red'... 
*/ 
public function border($width, $height, $color='rgb(220, 220, 220)') 
{ 
$color=new ImagickPixel(); 
$color->setColor($color); 
$this->image->borderImage($color, $width, $height); 
} 
public function blur($radius, $sigma){$this->image->blurImage($radius, $sigma);} // 模糊 
public function gaussian_blur($radius, $sigma){$this->image->gaussianBlurImage($radius, $sigma);} // 高斯模糊 
public function motion_blur($radius, $sigma, $angle){$this->image->motionBlurImage($radius, $sigma, $angle);} // 运动模糊 
public function radial_blur($radius){$this->image->radialBlurImage($radius);} // 径向模糊 
public function add_noise($type=null){$this->image->addNoiseImage($type==null&#63;imagick::NOISE_IMPULSE:$type);} // 添加噪点 
public function level($black_point, $gamma, $white_point){$this->image->levelImage($black_point, $gamma, $white_point);} // 调整色阶 
public function modulate($brightness, $saturation, $hue){$this->image->modulateImage($brightness, $saturation, $hue);} // 调整亮度、饱和度、色调 
public function charcoal($radius, $sigma){$this->image->charcoalImage($radius, $sigma);} // 素描 
public function oil_paint($radius){$this->image->oilPaintImage($radius);} // 油画效果 
public function flop(){$this->image->flopImage();} // 水平翻转 
public function flip(){$this->image->flipImage();} // 垂直翻转 
}
Copier après la connexion

您可能感兴趣的文章:

  • PHP使用imagick读取PDF生成png缩略图的两种方法
  • php使用imagick模块实现图片缩放、裁剪、压缩示例
  • PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
  • PHP中使用Imagick读取pdf并生成png缩略图实例
  • PHP中使用imagick生成PSD文件缩略图教程
  • PHP利用imagick生成组合缩略图
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment désactiver l'aperçu des vignettes de la barre des tâches dans Win11 ? Désactivez la technique d'affichage des vignettes de l'icône de la barre des tâches en déplaçant la souris Comment désactiver l'aperçu des vignettes de la barre des tâches dans Win11 ? Désactivez la technique d'affichage des vignettes de l'icône de la barre des tâches en déplaçant la souris Feb 29, 2024 pm 03:20 PM

Cet article explique comment désactiver la fonction de vignette affichée lorsque la souris déplace l'icône de la barre des tâches dans le système Win11. Cette fonctionnalité est activée par défaut et affiche une vignette de la fenêtre actuelle de l'application lorsque l'utilisateur passe le pointeur de la souris sur une icône d'application dans la barre des tâches. Cependant, certains utilisateurs peuvent trouver cette fonctionnalité moins utile ou perturber leur expérience et souhaiter la désactiver. Les miniatures de la barre des tâches peuvent être amusantes, mais elles peuvent aussi être distrayantes ou ennuyeuses. Compte tenu de la fréquence à laquelle vous survolez cette zone, vous avez peut-être fermé plusieurs fois des fenêtres importantes par inadvertance. Un autre inconvénient est qu'il utilise plus de ressources système, donc si vous cherchez un moyen d'être plus efficace en ressources, nous allons vous montrer comment le désactiver. mais

Comment ajouter un filigrane à Meitu Xiuxiu ? Partagez comment ajouter un filigrane à de belles photos ! Comment ajouter un filigrane à Meitu Xiuxiu ? Partagez comment ajouter un filigrane à de belles photos ! Mar 16, 2024 pm 09:55 PM

Vous voulez savoir comment ajouter un filigrane à MeituXiuXiu ? Meitu Xiuxiu est un logiciel de retouche photo très simple à utiliser. Il fournit des fonctions telles que découper des images et les placer sur une autre image, modifier la taille de l'image en Ko, supprimer les filigranes, modifier la couleur d'arrière-plan des photos d'identité et ajouter du temps. , les filigranes de date et de lieu en plein écran. Aidez les utilisateurs à terminer rapidement la production d'images. Certains utilisateurs ont créé leurs propres images et ne veulent pas que d’autres les volent. Ils veulent les recouvrir de leurs propres filigranes, mais ne savent pas comment faire ? L'éditeur va maintenant partager avec vous comment ajouter des filigranes à de belles images ! Si vous l'aimez, venez le télécharger ! 1. Comment ajouter un filigrane à de belles images ? Partagez comment ajouter un filigrane à de belles photos ! 1. Ouvrez la version 2023 de Meitu Xiu Xiu téléchargée depuis ce site. Version Meitu Xiu Xiu 2023 Catégorie : Photographie et embellissement Télécharger La version Meitu Xiu Xiu 2023 est un logiciel d'embellissement et d'édition d'images riche en fonctionnalités

Comment supprimer le filigrane d'un découpage Comment supprimer un filigrane d'un découpage Comment supprimer le filigrane d'un découpage Comment supprimer un filigrane d'un découpage Feb 22, 2024 pm 05:16 PM

Ouvrez le clip et sélectionnez un modèle. Après avoir modifié la vidéo, cliquez sur Exporter, cliquez sur Enregistrer et partager sans filigrane. Modèle applicable du tutoriel : iPhone13 Système : iOS15.3.1 Version : Cutting 6.8.0 Analyse 1 Ouvrez Cutting et sélectionnez un modèle de découpe. 2. Après avoir cliqué pour ouvrir le modèle, cliquez sur l'option Couper le même style dans le coin inférieur droit. 3Sélectionnez le segment de remplissage de photos dans l'album et cliquez sur Suivant. 4Comment cliquer sur l'option d'exportation dans le coin supérieur droit de la page. 5Enfin, cliquez sur Enregistrer et partager sans filigrane. Supplément : Quel type de logiciel est Cutting ? 1 Cutting est un logiciel de montage vidéo doté de fonctions d'édition complètes, capable de modifier la vitesse, doté de filtres et d'effets de beauté et doté de riches ressources de bibliothèque musicale. À partir de février 2021, le détourage sera pris en charge sur les téléphones mobiles, les Pads et les ordinateurs Mac.

Comment supprimer le filigrane vidéo dans Wink Comment supprimer le filigrane vidéo dans Wink Feb 23, 2024 pm 07:22 PM

Comment supprimer les filigranes des vidéos dans Wink ? Il existe un outil pour supprimer les filigranes des vidéos dans winkAPP, mais la plupart des amis ne savent pas comment supprimer les filigranes des vidéos dans Wink. Voici ensuite l'image de la façon de supprimer les filigranes des vidéos dans Wink. apporté par l'éditeur Tutoriel texte, les utilisateurs intéressés viennent y jeter un oeil ! Comment supprimer le filigrane vidéo dans Wink 1. Ouvrez d'abord l'application Wink et sélectionnez la fonction [Supprimer le filigrane] dans la zone de la page d'accueil ; 2. Sélectionnez ensuite la vidéo dont vous souhaitez supprimer le filigrane dans l'album ; dans le coin supérieur droit après avoir édité la vidéo [√] ; 4. Enfin, cliquez sur [Imprimer en un clic] comme indiqué dans la figure ci-dessous, puis cliquez sur [Traiter].

Comment supprimer un filigrane avec Scanner Comment supprimer un filigrane avec Scanner Mar 05, 2024 pm 05:34 PM

La suppression des filigranes est un outil utile dans le logiciel Scanner. Certains utilisateurs ne savent pas comment supprimer les filigranes dans le scanner. Vous pouvez cliquer sur Supprimer le filigrane dans Modifier le PDF sur l'interface de sauvegarde pour le fermer. Ensuite, l'éditeur expliquera aux utilisateurs une introduction. à comment supprimer les filigranes Si vous êtes intéressé, venez jeter un œil ! Tutoriel d'utilisation de Scanner King Comment supprimer le filigrane avec Scanner King Réponse : Vous pouvez cliquer sur l'interface de sauvegarde pour modifier la suppression du filigrane dans le PDF. Détails : 1. Entrez dans le logiciel et cliquez sur l'icône [Appareil photo]. 2. Photographiez et numérisez les documents qui doivent être filigranés. 3. Cliquez sur [→] pour passer à l'étape suivante. 4. Une fois l'édition terminée, cliquez sur [ ✓]. 5. Cliquez sur [Modifier le PDF]. 6. Sélectionnez [Supprimer le filigrane] ci-dessous.

Comment définir un filigrane photo sur Xiaomi Mi 14 ? Comment définir un filigrane photo sur Xiaomi Mi 14 ? Mar 18, 2024 am 11:00 AM

Afin de rendre les photos prises plus personnalisées et uniques, Xiaomi Mi 14 propose des paramètres de filigrane photo. En définissant des filigranes de photos, les utilisateurs peuvent ajouter des motifs, du texte et des logos aux photos qu'ils prennent, afin que chaque photo puisse mieux enregistrer des moments et des souvenirs précieux. Ensuite, nous présenterons comment définir un filigrane photo dans Xiaomi 14 pour rendre vos photos plus personnalisées et plus vives. Comment définir un filigrane photo sur Xiaomi Mi 14 ? 1. Cliquez d'abord sur « Caméra ». 2. Cliquez ensuite sur « Paramètres ». 3. Recherchez ensuite le filigrane et vous pourrez ensuite commencer la prise de vue.

Comment recadrer un IFrame en HTML ? Comment recadrer un IFrame en HTML ? Aug 29, 2023 pm 04:33 PM

Les frames en ligne sont appelés iframes en HTML. Une étiquette spécifie une zone rectangulaire dans le contenu où le navigateur peut afficher différents documents avec des barres de défilement et des bordures. Pour intégrer un autre document dans le document HTML actuel, utilisez des cadres en ligne. Une référence à un élément peut être spécifiée à l'aide de l'attribut de nom HTMLiframe. En JavaScript, les références aux éléments sont également faites à l'aide de l'attribut name. Une iframe est essentiellement utilisée pour afficher une page Web dans la page Web actuellement affichée. L'URL du document contenant l'iframe est spécifiée à l'aide de l'attribut "src". Syntaxe Voici la syntaxe du HTML <iframesrc="URL"title="d

Comment supprimer le filigrane sur Xiaomi Mi 14Ultra ? Comment supprimer le filigrane sur Xiaomi Mi 14Ultra ? Feb 28, 2024 pm 02:28 PM

Xiaomi Mi 14 Ultra est un nouveau modèle avec de très bonnes performances et configuration. Ce téléphone mobile adopte également un design d'apparence unique. Il a une apparence plus élevée et est très reconnaissable. De nombreux consommateurs qui souhaitent l'acheter veulent savoir comment utiliser Xiaomi Mi. 14 Ultra. Supprimer le filigrane ? , l'éditeur de ce site vous le présente ci-dessous ! Comment supprimer le filigrane de Xiaomi 14Ultra ? 1. Ouvrez l'application appareil photo : Recherchez et ouvrez l'application appareil photo préinstallée sur Xiaomi 14. 2. Accédez au menu des paramètres : appuyez sur le coin inférieur droit ou inférieur gauche de l'écran (selon la version que vous utilisez) pour afficher le bouton d'options supplémentaires. Ensuite, sélectionnez « Paramètres » dans le menu contextuel. 3. Désactivez l'option de filigrane : Dans le menu des paramètres, vous verrez diverses options et paramètres. Faites défiler vers le bas jusqu'à ce que vous trouviez l'option "Filigrane"

See all articles