-
Notifications
You must be signed in to change notification settings - Fork 0
/
lib_hacknrollify.php
51 lines (36 loc) · 1.49 KB
/
lib_hacknrollify.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
<?php
include "ResizeImage.php";
function hacknrollify($picfilename) {
$logofilename = "logo.png";
$logoPicPath = "logopics/".$logofilename;
$originalPicPath = "originalpics/".$picfilename;
$editedfilename = "hnr_".$picfilename;
$editedPicPath = "editedpics/".$editedfilename;
// read the original image from file
$profilepic = imagecreatefromjpeg($originalPicPath);
$profilepicWidth = imagesx($profilepic);
$profilepicHeight = imagesy($profilepic);
// create the black image overlay
$blackoverlay = imagecreate($profilepicWidth, $profilepicHeight);
imagecolorallocate($blackoverlay, 0, 0, 0);
// then merge the black and profilepic
imagecopymerge($profilepic, $blackoverlay, 0, 0, 0, 0, $profilepicWidth, $profilepicHeight, 50);
imagedestroy($blackoverlay);
// merge the resized logo
$logo = resizeImage($logoPicPath, $profilepicWidth - 80, 999999);
imageAlphaBlending($logo, false);
imageSaveAlpha($logo, true);
$logoWidth = imagesx($logo);
$logoHeight = imagesy($logo);
$verticalOffset = ($profilepicHeight / 2) - ($logoHeight / 2);
$horizontalOffset = 40;
imagecopyresampled($profilepic, $logo, $horizontalOffset, $verticalOffset, 0, 0, $logoWidth, $logoHeight, $logoWidth, $logoHeight);
$mergeSuccess = imagejpeg($profilepic, $editedPicPath);
if (!$mergeSuccess) {
echo("Image merge failed!");
}
imagedestroy($profilepic);
imagedestroy($logo);
return $editedPicPath;
}
?>