Heim  >  Artikel  >  Backend-Entwicklung  >  Methode zum Zuschneiden und Zoomen von Bildern mithilfe der PHP- und Qiniu-Cloud-Speicherschnittstelle

Methode zum Zuschneiden und Zoomen von Bildern mithilfe der PHP- und Qiniu-Cloud-Speicherschnittstelle

WBOY
WBOYOriginal
2023-07-05 19:40:531074Durchsuche

So verwenden Sie die PHP- und Qiniu-Cloud-Speicherschnittstelle, um das Zuschneiden und Skalieren von Bildern zu realisieren

Einführung:
Mit der rasanten Entwicklung des Internets ist die Bildverarbeitung zu einem Teil geworden, der in unserer täglichen Entwicklung nicht ignoriert werden kann. Bei der Bildverarbeitung müssen wir häufig Vorgänge wie das Zuschneiden und Skalieren von Bildern durchführen. In diesem Artikel wird die Verwendung von PHP in Kombination mit der Qiniu-Cloud-Speicherschnittstelle zum Zuschneiden und Zoomen von Bildern vorgestellt und Codebeispiele gegeben.

1. Hintergrundeinführung

  1. Qiniu Cloud Storage
    Qiniu Cloud Storage ist ein hochverfügbarer, leistungsstarker, kostengünstiger und einfach zu erweiternder Cloud-Speicherdienst. Es bietet eine umfangreiche API-Schnittstelle, um Entwicklern die Verwaltung und Verarbeitung von Ressourcen zu erleichtern.
  2. PHP
    PHP ist eine weit verbreitete Skriptsprache, die sich besonders für die Webentwicklung eignet. Es ist leicht zu erlernen, leistungsstark und verfügt über eine umfangreiche Erweiterungsbibliothek, was es zur idealen Wahl für die Bildverarbeitung macht.

2. Implementierungsmethode

  1. Vorbereitungsarbeiten
    Zuerst müssen wir einen Speicherplatz in der Qiniu Cloud erstellen und den entsprechenden Zugriffsschlüssel und Geheimschlüssel erhalten. Im PHP-Code verwenden wir für den Betrieb das von Qiniu Cloud bereitgestellte SDK, daher müssen wir auch das SDK-Paket von Qiniu Cloud installieren.
  2. Bildzuschnitt
    Bildzuschnitt bezieht sich auf das Zuschneiden eines bestimmten Teils des Bildes unter Beibehaltung des ursprünglichen Bildseitenverhältnisses. Das Folgende ist ein Beispiel für PHP-Code, der die Qiniu Cloud-Speicherschnittstelle verwendet, um das Zuschneiden von Bildern zu implementieren:
<?php
require 'vendor/autoload.php'; // 引入七牛云SDK

use QiniuAuth;
use QiniuStorageBucketManager;

$accessKey = 'YOUR_ACCESS_KEY';
$secretKey = 'YOUR_SECRET_KEY';
$bucket = 'YOUR_BUCKET';
$auth = new Auth($accessKey, $secretKey);
$bucketManager = new BucketManager($auth);

$key = 'image.jpg'; // 待裁剪的图片key
$newKey = 'new_image.jpg'; // 裁剪后保存的图片key
$width = 200; // 裁剪后的宽度
$height = 150; // 裁剪后的高度
$x = 100; // 裁剪起始点的横坐标
$y = 100; // 裁剪起始点的纵坐标

$ops = 'imageView2/1/w/' . $width . '/h/' . $height . '/x/' . $x . '/y/' . $y;

list($ret, $err) = $bucketManager->fetch($bucket . ':' . $key, $bucket, $newKey, $ops);
if ($err !== null) {
    echo '裁剪失败:' . $err->message();
} else {
    echo '裁剪成功';
}
?>

Analyse:
Im Code führen wir zunächst das Qiniu Cloud SDK-Paket ein und erstellen ein Auth- und BucketManager-Objekt.
Als nächstes definieren wir den zuzuschneidenden Bildschlüssel, den nach dem Zuschneiden gespeicherten Bildschlüssel sowie die Breite, Höhe sowie die horizontalen und vertikalen Koordinaten des Startpunkts nach dem Zuschneiden.
Wir legen die Parameter für das Zuschneiden fest, indem wir eine Operationszeichenfolge ops zusammenfügen.
Abschließend rufen wir die Abrufmethode von BucketManager auf und übergeben die Zuschneideparameter und Informationen zum Speicherplatz, um das Bild zuzuschneiden.

  1. Bildzoom
    Bildzoom bezieht sich auf den Vorgang des Vergrößerns oder Verkleinerns des Bildes entsprechend einem bestimmten Verhältnis. Das Folgende ist ein Beispiel für PHP-Code, der die Qiniu Cloud-Speicherschnittstelle verwendet, um die Bildskalierung zu implementieren:
<?php
require 'vendor/autoload.php'; // 引入七牛云SDK

use QiniuAuth;
use QiniuStorageBucketManager;

$accessKey = 'YOUR_ACCESS_KEY';
$secretKey = 'YOUR_SECRET_KEY';
$bucket = 'YOUR_BUCKET';
$auth = new Auth($accessKey, $secretKey);
$bucketManager = new BucketManager($auth);

$key = 'image.jpg'; // 待缩放的图片key
$newKey = 'new_image.jpg'; // 缩放后保存的图片key
$scale = 0.5; // 缩放比例

$ops = 'imageView2/0/q/75|imageslim|slim';

list($ret, $err) = $bucketManager->fetch($bucket . ':' . $key, $bucket, $newKey, $ops);
if ($err !== null) {
    echo '缩放失败:' . $err->message();
} else {
    echo '缩放成功';
}
?>

Analyse:
Im Code haben wir auch das Qiniu Cloud SDK-Paket eingeführt und Auth- und BucketManager-Objekte erstellt.
Wir definieren den zu skalierenden Bildschlüssel, den nach der Skalierung zu speichernden Bildschlüssel und das Skalierungsverhältnis.
Legen Sie die Skalierungsparameter fest, indem Sie eine Operationszeichenfolge ops zusammenfügen.
Abschließend rufen wir die Abrufmethode von BucketManager auf, übergeben die Skalierungsparameter und speicherplatzbezogenen Informationen und führen die Bildskalierung durch.

3. Zusammenfassung
Dieser Artikel stellt die Methode zur Verwendung von PHP in Kombination mit der Qiniu-Cloud-Speicherschnittstelle vor, um das Zuschneiden und Skalieren von Bildern zu erreichen, und gibt entsprechende Codebeispiele. Durch die Nutzung der leistungsstarken Speicher- und Verarbeitungsfunktionen von Qiniu Cloud können Entwickler problemlos verschiedene Vorgänge wie das Zuschneiden und Zoomen von Bildern durchführen, um Benutzern bessere Bildanzeigeeffekte zu bieten. Ich hoffe, dieser Artikel kann bei den Bildverarbeitungsproblemen hilfreich sein, auf die Entwickler bei der täglichen Entwicklung stoßen.

Referenzmaterialien:

  • Offizielle Website von Qiniu Cloud Storage: https://www.qiniu.com/
  • Qiniu Cloud Storage PHP SDK: https://github.com/qiniu/php-sdk

Das obige ist der detaillierte Inhalt vonMethode zum Zuschneiden und Zoomen von Bildern mithilfe der PHP- und Qiniu-Cloud-Speicherschnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn