ホームページ  >  記事  >  バックエンド開発  >  Picture_PHP チュートリアルの色の境界に従ってさまざまな位置にウォーターマークを追加する PHP メソッド

Picture_PHP チュートリアルの色の境界に従ってさまざまな位置にウォーターマークを追加する PHP メソッド

WBOY
WBOYオリジナル
2016-07-13 09:47:55894ブラウズ

画像の色の境界に基づいて異なる位置にウォーターマークを追加する PHP の方法

この記事では、画像の色の境界に基づいて異なる位置にウォーターマークを追加する PHP の方法の例について説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです

?

この記事が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1025322.html技術記事画像の色の境界に基づいてさまざまな位置にウォーターマークを追加する PHP の方法 この記事では、PHP が画像の色の境界に基づいてさまざまな位置にウォーターマークを追加する方法について説明します。皆さんの参考に共有してください。具体的な実装方法…

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

関数 add_wm($nmw_water, $src_file, $output_file, $x, $y) {

if(file_exists($output_file))

戻る;

$w1 = MagickGetImageWidth($nmw_water);

$h1 = MagickGetImageHeight($nmw_water);

$nmw =NewMagickWand();

MagickReadImage($nmw, $src_file);

//デフォルトのウォーターマーク位置調整

$lt_w = 50;

$lt_h = 50;

if($x == 0){

$w = MagickGetImageWidth($nmw);

$h = MagickGetImageHeight($nmw);

$x = $w;

$y = $h;

}その他{

//特定の状況に応じて調整します

$lt_w = 30;

$lt_h = 40;

}

MagickCompositeImage($nmw, $nmw_water, MW_OverCompositeOp, $x - $w1 - $lt_w, $y - $h1 - $lt_h);

MagickWriteImage($nmw, $output_file);

DestroyMagickWand($nmw);

}

// Groovy の eachFileRecurse は依然として便利です

関数 add_wm_recurse($nmw_water, $to_dir, $output_dir, $arr) {

$dp = dir($to_dir);

while($file=$dp->read()){

if($file != '.' && $file != '..'){

if(is_dir($to_dir . '/' . $file)){

mkdir($output_dir . '/' . $file);

add_wm_recurse($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $arr);

}その他{

if(!array_key_exists($to_dir . '/' . $file, $arr)){

続き;

}

$sub_arr = $arr[$to_dir . $file];

if($sub_arr){

$x = intval($sub_arr[0]);

$y = intval($sub_arr[1]);

add_wm($nmw_water, $to_dir . '/' . $file, $output_dir . '/' . $file, $x, $y);

}

}

}

}

$dp->close();

}

$to_dir = './サイズ変更';

$output_dir = './output';

// これは、Java の ImageIO を使用して画像のピクセルを走査した、パンツの色と一致する領域の座標配列 (posX、posY) です。

$arr = 配列(

配列(50, 50)

);

$water = './water.png';

$nmw_water =NewMagickWand();

MagickReadImage($nmw_water, $water);

add_wm_recurse($nmw_water, $to_dir, $output_dir, $arr);

DestroyMagickWand($nmw_water);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。