Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 3.144.255.247
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
bcu /
libgd-gd-2.2.3 /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
msinttypes
[ DIR ]
drwxr-xr-x
CMakeLists.txt
3.23
KB
-rwxr-xr-x
COPYING
2.25
KB
-rwxr-xr-x
Makefile.am
1.96
KB
-rwxr-xr-x
annotate.c
4.38
KB
-rwxr-xr-x
bdftogd
3.91
KB
-rwxr-xr-x
bmp.h
2.39
KB
-rwxr-xr-x
circletexttest.c
1.49
KB
-rwxr-xr-x
config.h.cmake
3.58
KB
-rwxr-xr-x
demoin.png
9.79
KB
-rwxr-xr-x
depcomp
11.84
KB
-rwxr-xr-x
entities.h
4.81
KB
-rwxr-xr-x
entities.html
41.11
KB
-rwxr-xr-x
entities.tcl
1.35
KB
-rwxr-xr-x
fontconfigtest.c
1.34
KB
-rwxr-xr-x
fontsizetest.c
2.3
KB
-rwxr-xr-x
fontwheeltest.c
3.23
KB
-rwxr-xr-x
gd.c
89.58
KB
-rwxr-xr-x
gd.h
50.14
KB
-rwxr-xr-x
gd2copypal.c
1.25
KB
-rwxr-xr-x
gd2time.c
1.19
KB
-rwxr-xr-x
gd2togif.c
939
B
-rwxr-xr-x
gd2topng.c
1.38
KB
-rwxr-xr-x
gd_bmp.c
25.78
KB
-rwxr-xr-x
gd_color.c
798
B
-rwxr-xr-x
gd_color.h
189
B
-rwxr-xr-x
gd_color_map.c
22.71
KB
-rwxr-xr-x
gd_color_map.h
478
B
-rwxr-xr-x
gd_color_map_test.c
570
B
-rwxr-xr-x
gd_color_match.c
1.49
KB
-rwxr-xr-x
gd_crop.c
5.75
KB
-rwxr-xr-x
gd_errors.h
1.47
KB
-rwxr-xr-x
gd_filename.c
6.41
KB
-rwxr-xr-x
gd_filter.c
21
KB
-rwxr-xr-x
gd_gd.c
7.1
KB
-rwxr-xr-x
gd_gd2.c
25.85
KB
-rwxr-xr-x
gd_gif_in.c
14.79
KB
-rwxr-xr-x
gd_gif_out.c
41
KB
-rwxr-xr-x
gd_intern.h
1.95
KB
-rwxr-xr-x
gd_interpolation.c
59.19
KB
-rwxr-xr-x
gd_io.c
3.42
KB
-rwxr-xr-x
gd_io.h
3.05
KB
-rwxr-xr-x
gd_io_dp.c
7.95
KB
-rwxr-xr-x
gd_io_file.c
2.41
KB
-rwxr-xr-x
gd_io_ss.c
2.66
KB
-rwxr-xr-x
gd_io_stream.cxx
4.11
KB
-rwxr-xr-x
gd_io_stream.h
3.63
KB
-rwxr-xr-x
gd_jpeg.c
34.5
KB
-rwxr-xr-x
gd_matrix.c
7.93
KB
-rwxr-xr-x
gd_nnquant.c
15
KB
-rwxr-xr-x
gd_nnquant.h
527
B
-rwxr-xr-x
gd_png.c
30.58
KB
-rwxr-xr-x
gd_rotate.c
12.25
KB
-rwxr-xr-x
gd_security.c
692
B
-rwxr-xr-x
gd_ss.c
1.27
KB
-rwxr-xr-x
gd_tga.c
8.61
KB
-rwxr-xr-x
gd_tga.h
1.66
KB
-rwxr-xr-x
gd_tiff.c
25.85
KB
-rwxr-xr-x
gd_topal.c
55.18
KB
-rwxr-xr-x
gd_transform.c
1.48
KB
-rwxr-xr-x
gd_version.c
827
B
-rwxr-xr-x
gd_wbmp.c
6.54
KB
-rwxr-xr-x
gd_webp.c
4.25
KB
-rwxr-xr-x
gd_xbm.c
5.68
KB
-rwxr-xr-x
gdcache.c
5.14
KB
-rwxr-xr-x
gdcache.h
2.83
KB
-rwxr-xr-x
gdcmpgif.c
1.86
KB
-rwxr-xr-x
gddemo.c
5.42
KB
-rwxr-xr-x
gdfontg.c
109.84
KB
-rwxr-xr-x
gdfontg.h
553
B
-rwxr-xr-x
gdfontl.c
104.83
KB
-rwxr-xr-x
gdfontl.h
551
B
-rwxr-xr-x
gdfontmb.c
76.33
KB
-rwxr-xr-x
gdfontmb.h
519
B
-rwxr-xr-x
gdfonts.c
66.55
KB
-rwxr-xr-x
gdfonts.h
515
B
-rwxr-xr-x
gdfontt.c
36.82
KB
-rwxr-xr-x
gdfontt.h
546
B
-rwxr-xr-x
gdft.c
49.23
KB
-rwxr-xr-x
gdfx.c
13.52
KB
-rwxr-xr-x
gdfx.h
2.34
KB
-rwxr-xr-x
gdhelpers.c
1.51
KB
-rwxr-xr-x
gdhelpers.h
2.31
KB
-rwxr-xr-x
gdkanji.c
11.97
KB
-rwxr-xr-x
gdparttopng.c
1.23
KB
-rwxr-xr-x
gdpp.cxx
6.43
KB
-rwxr-xr-x
gdpp.h
50.94
KB
-rwxr-xr-x
gdtables.c
4.67
KB
-rwxr-xr-x
gdtest.c
10.27
KB
-rwxr-xr-x
gdtestft.c
5.54
KB
-rwxr-xr-x
gdtopng.c
1.01
KB
-rwxr-xr-x
gdxpm.c
4.64
KB
-rwxr-xr-x
gifanimtest.c
682
B
-rwxr-xr-x
giftogd2.c
1.12
KB
-rwxr-xr-x
jisx0208.h
73.71
KB
-rwxr-xr-x
pngtogd.c
1.03
KB
-rwxr-xr-x
pngtogd2.c
1.23
KB
-rwxr-xr-x
snprintf.c
585
B
-rwxr-xr-x
testac.c
4.14
KB
-rwxr-xr-x
testtr.c
1.33
KB
-rwxr-xr-x
wbmp.c
6.18
KB
-rwxr-xr-x
wbmp.h
1.2
KB
-rwxr-xr-x
webpng.c
6.44
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : gd_crop.c
/* Crop support * manual crop using a gdRect or automatic crop using a background * color (automatic detections or using either the transparent color, * black or white). * An alternative method allows to crop using a given color and a * threshold. It works relatively well but it can be improved. * Maybe L*a*b* and Delta-E will give better results (and a better * granularity). */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <stdlib.h> #include "gd.h" #include "gd_color.h" static int gdGuessBackgroundColorFromCorners(gdImagePtr im, int *color); /* Function: gdImageCrop */ BGD_DECLARE(gdImagePtr) gdImageCrop(gdImagePtr src, const gdRect *crop) { gdImagePtr dst; dst = gdImageCreateTrueColor(crop->width, crop->height); if (!dst) return NULL; gdImageCopy(dst, src, 0, 0, crop->x, crop->y, crop->width, crop->height); return dst; } /* Function: gdImageCropAuto */ BGD_DECLARE(gdImagePtr) gdImageCropAuto(gdImagePtr im, const unsigned int mode) { const int width = gdImageSX(im); const int height = gdImageSY(im); int x,y; int color, match; gdRect crop; crop.x = 0; crop.y = 0; crop.width = 0; crop.height = 0; switch (mode) { case GD_CROP_TRANSPARENT: color = gdImageGetTransparent(im); break; case GD_CROP_BLACK: color = gdImageColorClosestAlpha(im, 0, 0, 0, 0); break; case GD_CROP_WHITE: color = gdImageColorClosestAlpha(im, 255, 255, 255, 0); break; case GD_CROP_SIDES: gdGuessBackgroundColorFromCorners(im, &color); break; case GD_CROP_DEFAULT: default: color = gdImageGetTransparent(im); break; } /* TODO: Add gdImageGetRowPtr and works with ptr at the row level * for the true color and palette images * new formats will simply work with ptr */ match = 1; for (y = 0; match && y < height; y++) { for (x = 0; match && x < width; x++) { match = (color == gdImageGetPixel(im, x,y)); } } /* Nothing to do > bye * Duplicate the image? */ if (y == height - 1) { return NULL; } crop.y = y -1; match = 1; for (y = height - 1; match && y >= 0; y--) { for (x = 0; match && x < width; x++) { match = (color == gdImageGetPixel(im, x,y)); } } if (y == 0) { crop.height = height - crop.y + 1; } else { crop.height = y - crop.y + 2; } match = 1; for (x = 0; match && x < width; x++) { for (y = 0; match && y < crop.y + crop.height - 1; y++) { match = (color == gdImageGetPixel(im, x,y)); } } crop.x = x - 1; match = 1; for (x = width - 1; match && x >= 0; x--) { for (y = 0; match && y < crop.y + crop.height - 1; y++) { match = (color == gdImageGetPixel(im, x,y)); } } crop.width = x - crop.x + 2; return gdImageCrop(im, &crop); } /* Function: gdImageCropThreshold */ BGD_DECLARE(gdImagePtr) gdImageCropThreshold(gdImagePtr im, const unsigned int color, const float threshold) { const int width = gdImageSX(im); const int height = gdImageSY(im); int x,y; int match; gdRect crop; crop.x = 0; crop.y = 0; crop.width = 0; crop.height = 0; /* Pierre: crop everything sounds bad */ if (threshold > 100.0) { return NULL; } if (!gdImageTrueColor(im) && color >= gdImageColorsTotal(im)) { return NULL; } /* TODO: Add gdImageGetRowPtr and works with ptr at the row level * for the true color and palette images * new formats will simply work with ptr */ match = 1; for (y = 0; match && y < height; y++) { for (x = 0; match && x < width; x++) { match = (gdColorMatch(im, color, gdImageGetPixel(im, x,y), threshold)) > 0; } } /* Pierre * Nothing to do > bye * Duplicate the image? */ if (y == height - 1) { return NULL; } crop.y = y -1; match = 1; for (y = height - 1; match && y >= 0; y--) { for (x = 0; match && x < width; x++) { match = (gdColorMatch(im, color, gdImageGetPixel(im, x, y), threshold)) > 0; } } if (y == 0) { crop.height = height - crop.y + 1; } else { crop.height = y - crop.y + 2; } match = 1; for (x = 0; match && x < width; x++) { for (y = 0; match && y < crop.y + crop.height - 1; y++) { match = (gdColorMatch(im, color, gdImageGetPixel(im, x,y), threshold)) > 0; } } crop.x = x - 1; match = 1; for (x = width - 1; match && x >= 0; x--) { for (y = 0; match && y < crop.y + crop.height - 1; y++) { match = (gdColorMatch(im, color, gdImageGetPixel(im, x,y), threshold)) > 0; } } crop.width = x - crop.x + 2; return gdImageCrop(im, &crop); } /* This algorithm comes from pnmcrop (http://netpbm.sourceforge.net/) * Three steps: * - if 3 corners are equal. * - if two are equal. * - Last solution: average the colors */ static int gdGuessBackgroundColorFromCorners(gdImagePtr im, int *color) { const int tl = gdImageGetPixel(im, 0, 0); const int tr = gdImageGetPixel(im, gdImageSX(im) - 1, 0); const int bl = gdImageGetPixel(im, 0, gdImageSY(im) -1); const int br = gdImageGetPixel(im, gdImageSX(im) - 1, gdImageSY(im) -1); if (tr == bl && tr == br) { *color = tr; return 3; } else if (tl == bl && tl == br) { *color = tl; return 3; } else if (tl == tr && tl == br) { *color = tl; return 3; } else if (tl == tr && tl == bl) { *color = tl; return 3; } else if (tl == tr || tl == bl || tl == br) { *color = tl; return 2; } else if (tr == bl) { *color = tr; return 2; } else if (br == bl) { *color = bl; return 2; } else { register int r,b,g,a; r = (int)(0.5f + (gdImageRed(im, tl) + gdImageRed(im, tr) + gdImageRed(im, bl) + gdImageRed(im, br)) / 4); g = (int)(0.5f + (gdImageGreen(im, tl) + gdImageGreen(im, tr) + gdImageGreen(im, bl) + gdImageGreen(im, br)) / 4); b = (int)(0.5f + (gdImageBlue(im, tl) + gdImageBlue(im, tr) + gdImageBlue(im, bl) + gdImageBlue(im, br)) / 4); a = (int)(0.5f + (gdImageAlpha(im, tl) + gdImageAlpha(im, tr) + gdImageAlpha(im, bl) + gdImageAlpha(im, br)) / 4); *color = gdImageColorClosestAlpha(im, r, g, b, a); return 0; } }
Close