summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-02-22 18:04:48 +0100
committerMinteck <contact@minteck.org>2023-02-22 18:04:48 +0100
commit1ff917767cca089a87f4e06a676c48ed132c2a73 (patch)
tree2e64d95f10d7b386b41757318e67f0463e7de99d
parentbf2558253637537c2d57765e557bdc0e164c58ee (diff)
downloadpluralconnect-1ff917767cca089a87f4e06a676c48ed132c2a73.tar.gz
pluralconnect-1ff917767cca089a87f4e06a676c48ed132c2a73.tar.bz2
pluralconnect-1ff917767cca089a87f4e06a676c48ed132c2a73.zip
Added 2 files (automated)
-rw-r--r--api/raindrops-img2-round.php94
-rw-r--r--api/raindrops-two.php8
2 files changed, 102 insertions, 0 deletions
diff --git a/api/raindrops-img2-round.php b/api/raindrops-img2-round.php
new file mode 100644
index 0000000..8ca6c81
--- /dev/null
+++ b/api/raindrops-img2-round.php
@@ -0,0 +1,94 @@
+<?php
+
+$fronters = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/gdapd/fronters.json"), true);
+
+$url = isset($fronters['members'][1]) ? ($fronters['members'][1]["avatar_url"] ?? "/assets/uploads/raindrops.png") : "/assets/uploads/raindrops.png";
+file_put_contents("/tmp/temp", file_get_contents($url));
+
+function imageCreateCorners($sourceImageFile, $radius) {
+ # test source image
+ if (file_exists($sourceImageFile)) {
+ $res = is_array($info = getimagesize($sourceImageFile));
+ }
+ else $res = false;
+
+ # open image
+ if ($res) {
+ $w = $info[0];
+ $h = $info[1];
+ switch ($info['mime']) {
+ case 'image/jpeg': $src = imagecreatefromjpeg($sourceImageFile);
+ break;
+ case 'image/gif': $src = imagecreatefromgif($sourceImageFile);
+ break;
+ case 'image/png': $src = imagecreatefrompng($sourceImageFile);
+ break;
+ default:
+ $res = false;
+ }
+ }
+
+ # create corners
+ if ($res) {
+
+ $q = 10; # change this if you want
+ $radius *= $q;
+
+ # find unique color
+ do {
+ $r = rand(0, 255);
+ $g = rand(0, 255);
+ $b = rand(0, 255);
+ }
+ while (imagecolorexact($src, $r, $g, $b) < 0);
+
+ $nw = $w*$q;
+ $nh = $h*$q;
+
+ $img = imagecreatetruecolor($nw, $nh);
+ $alphacolor = imagecolorallocatealpha($img, $r, $g, $b, 127);
+ imagealphablending($img, false);
+ imagesavealpha($img, true);
+ imagefilledrectangle($img, 0, 0, $nw, $nh, $alphacolor);
+
+ imagefill($img, 0, 0, $alphacolor);
+ imagecopyresampled($img, $src, 0, 0, 0, 0, $nw, $nh, $w, $h);
+
+ imagearc($img, $radius-1, $radius-1, $radius*2, $radius*2, 180, 270, $alphacolor);
+ imagefilltoborder($img, 0, 0, $alphacolor, $alphacolor);
+ imagearc($img, $nw-$radius, $radius-1, $radius*2, $radius*2, 270, 0, $alphacolor);
+ imagefilltoborder($img, $nw-1, 0, $alphacolor, $alphacolor);
+ imagearc($img, $radius-1, $nh-$radius, $radius*2, $radius*2, 90, 180, $alphacolor);
+ imagefilltoborder($img, 0, $nh-1, $alphacolor, $alphacolor);
+ imagearc($img, $nw-$radius, $nh-$radius, $radius*2, $radius*2, 0, 90, $alphacolor);
+ imagefilltoborder($img, $nw-1, $nh-1, $alphacolor, $alphacolor);
+ imagealphablending($img, true);
+ imagecolortransparent($img, $alphacolor);
+
+ # resize image down
+ $dest = imagecreatetruecolor($w, $h);
+ imagealphablending($dest, false);
+ imagesavealpha($dest, true);
+ imagefilledrectangle($dest, 0, 0, $w, $h, $alphacolor);
+ imagecopyresampled($dest, $img, 0, 0, 0, 0, $w, $h, $nw, $nh);
+
+ # output image
+ $res = $dest;
+ imagedestroy($src);
+ imagedestroy($img);
+ }
+
+ return $res;
+}
+
+header("Content-Type: image/png");
+
+$id = bin2hex(random_bytes(8));
+exec('convert -size 128x128 xc:none -draw "roundrectangle 0,0,128,128,128,128" /tmp/' . $id . '-mask.png', $out);
+
+exec('convert -resize 128x128 "/tmp/temp" /tmp/' . $id . '-source.png');
+exec('convert /tmp/' . $id . '-source.png -matte /tmp/' . $id . '-mask.png -compose DstIn -composite /tmp/' . $id . '.png', $out2);
+
+unlink("/tmp/temp");
+
+echo(file_get_contents('/tmp/' . $id . '.png')); \ No newline at end of file
diff --git a/api/raindrops-two.php b/api/raindrops-two.php
new file mode 100644
index 0000000..2fa09f2
--- /dev/null
+++ b/api/raindrops-two.php
@@ -0,0 +1,8 @@
+<?php
+
+header("Content-Type: text/plain");
+
+$fronters = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/gdapd/fronters.json"), true);
+echo(json_encode([
+ "multiple" => count($fronters["members"]) > 1
+])); \ No newline at end of file