Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menambah tera air imej menggunakan antara muka PHP dan Storan Awan Qiniu

Cara menambah tera air imej menggunakan antara muka PHP dan Storan Awan Qiniu

王林
王林asal
2023-07-05 17:15:071632semak imbas

Cara menambah tera air imej menggunakan antara muka PHP dan Storan Awan Qiniu

Pengenalan:
Dengan perkembangan Internet, gambar memainkan peranan yang sangat penting dalam reka bentuk dan aplikasi web. Untuk melindungi hak cipta individu atau perniagaan, kadangkala perlu menambahkan tera air pada imej. Artikel ini akan memperkenalkan cara menggunakan antara muka storan awan PHP dan Qiniu untuk menambah tera air imej.

1. Persediaan
Sebelum anda bermula, anda perlu memastikan bahawa anda mempunyai persekitaran dan sumber berikut:

  1. PHP telah dipasang dan dikonfigurasikan dengan betul.
  2. Sudah mempunyai akaun Storan Awan Qiniu dan fahami konsep asas dan operasi Storan Awan Qiniu.

2. Prinsip menambah tera air
Untuk menambah tera air, kita perlu memuat naik imej untuk ditanda air ke Qiniu Cloud Storage terlebih dahulu, dan dapatkan URL imej dengan tera air. Kemudian, kita boleh memaparkan imej bertanda air pada halaman web dengan menambahkan tag imej pada HTML dan menentukan URL imej tersebut.

3. Penjelasan terperinci tentang langkah-langkah
Seterusnya, kami akan mengikuti langkah-langkah berikut.

  1. Memasang PHP SDK Qiniu Cloud Storage
    boleh dipasang melalui komposer. Masukkan folder projek dan jalankan arahan berikut:

    composer require qiniu/php-sdk
  2. Konfigurasikan parameter storan awan Qiniu
    Buat fail config.php baharu dalam projek dan tambah kandungan berikut:

    <?php
    // 七牛云存储的秘钥
    define('QINIU_ACCESS_KEY', 'your_access_key');
    define('QINIU_SECRET_KEY', 'your_secret_key');

    Di sini anda perlu menggantikan your_access_key dan your_secret_key dengan anda memiliki Kunci Storan Awan Qiniu.

  3. Muat naik gambar ke Qiniu Cloud Storage
    Buat fail upload.php baharu dalam projek dan tambah kandungan berikut:

    <?php
    require_once('config.php');
    require_once('vendor/autoload.php');
    
    use QiniuAuth;
    use QiniuStorageUploadManager;
    
    $bucket = 'your_bucket_name';
    $auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY);
    $token = $auth->uploadToken($bucket);
    
    if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
     $file_path = $_FILES['file']['tmp_name'];
     $key = uniqid();
     $upload_manager = new UploadManager();
     list($ret, $err) = $upload_manager->putFile($token, $key, $file_path);
     if ($err !== null) {
         echo json_encode(['status' => 'error', 'message' => '上传图片失败']);
     } else {
         $image_url = 'http://your_bucket_domain/' . $key;
         echo json_encode(['status' => 'success', 'image_url' => $image_url]);
     }
    } else {
     echo json_encode(['status' => 'error', 'message' => '上传图片失败']);
    }

    Di sini anda perlu menggantikan your_bucket_name dengan nama ruang storan Qiniu Cloud Storage anda sendiri dan gantikan your_bucket_domain Nama domain untuk Storan Awan Qiniu anda sendiri.

  4. Tambah tera air imej
    Buat fail tera air.php baharu dalam projek dan tambah kandungan berikut:

    <?php
    require_once('config.php');
    require_once('vendor/autoload.php');
    
    use QiniuAuth;
    
    function addWatermark($image_url) {
     // 水印图片的URL
     $watermark_url = 'http://your_bucket_domain/watermark.png';
    
     // 水印位置和透明度
     $position = 'NorthEast';
     $opacity = 80;
    
     // 生成带有水印的图片URL
     $auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY);
     $signed_url = $auth->privateDownloadUrl($image_url);
     $signed_watermark_url = "{$signed_url}?watermark/1/image/{$watermark_url}/dissolve/{$opacity}/gravity/{$position}";
    
     return $signed_watermark_url;
    }
    
    // 从upload.php返回的image_url获取待添加水印的图片URL
    $image_url = $_GET['image_url'];
    
    // 调用addWatermark函数,获取带有水印的图片URL
    $signed_watermark_url = addWatermark($image_url);
    
    ?>
    <!DOCTYPE html>
    <html>
    <head>
     <title>图片水印示例</title>
    </head>
    <body>
     <h1>添加水印后的图片:</h1>
     <img src="<?php echo $signed_watermark_url; ?>" alt="带有水印的图片">
    </body>
    </html>

    Di sini anda perlu menggantikan domain_bucket_anda dengan nama domain dan tera air Qiniu Cloud Storage anda sendiri.png dengan imej Tera Air anda sendiri .

IV Ringkasan
Artikel ini memperkenalkan kaedah menambah tera air imej menggunakan antara muka storan awan PHP dan Qiniu. Dengan memuat naik gambar ke Storan Awan Qiniu dan menggunakan fungsi pemprosesan imej Storan Awan Qiniu, gambar dengan tera air dipaparkan dalam HTML. Saya harap artikel ini berguna kepada anda, terima kasih kerana membaca!

Atas ialah kandungan terperinci Cara menambah tera air imej menggunakan antara muka PHP dan Storan Awan Qiniu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn