You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: render_image.php
+12-22Lines changed: 12 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,26 @@
1
1
<?php
2
2
3
3
/*
4
-
PHP_GeraFoto v1.2
4
+
PHP_GeraFoto v1.3
5
5
6
6
Desenvolvido por Matheus Felipe Marques, com inspiração na experiência que adquiriu em trabalhos passados, como um dos passatempos mais divertidos durante a quarentena de 2020 e para entender como a biblioteca GD funciona, e de quebra ainda facilitar a vida :-)
7
7
Esse script pode proporcionar uma economia de tempo gigantesca relacionado a imagens com dimensões incorretas.
8
8
Esse script não utiliza nenhuma dependência ou algo do tipo (é independente). Sinta-se livre para poder editá-lo e usá-lo da forma que melhor lhe conver.
9
-
Antes ele não suportava gerar imagens via URL, mas agora ele gera sim, PORÉM, com a limitação de que a imagem deve ser do mesmo domínio (precisa estar em seu servidor).
9
+
Antes ele não suportava gerar imagens via URL, mas agora ele gera sim, mas com a limitação de que a imagem deve ser do mesmo domínio (precisa estar em seu servidor).
10
10
Sinta-se livre para comentar ou apoiar.
11
11
12
-
Sintaxe de uso: <img src="caminho/ate/script/gera_foto.php?imagem=../local/da/imagem.extensao&modo=perfil_configuracao" />
13
-
Ou Sintaxe de uso: <img src="caminho/ate/script/gera_foto.php?imagem=https://local/da/imagem.extensao&modo=perfil_configuracao" />
2021-02-05 -> Adicionada verificação de URL, para ser possível pegar a imagem se, e somente se, estiver no mesmo domínio (usará file_get_contents e irá verificar o mimetype utilizando os headers definidos pela função).
21
22
2021-02-15 -> Melhorar função de criação de canvas para suportar transparência no fundo da imagem. Esta função funciona melhor tendo como base imagens .png. No modo "enquadrar", a porção adicional da imagem ficará transparente.
23
+
2021-06-03 -> Não é mais forçada a criação da imagem em formato webp, mas apenas a renderização da mesma.
22
24
23
25
*/
24
26
@@ -34,7 +36,7 @@
34
36
$permitido = true;
35
37
}
36
38
if (!$permitido) {
37
-
exit();
39
+
exit;
38
40
}
39
41
40
42
$configuracao = array(
@@ -44,22 +46,11 @@
44
46
"modo" => 'cortar', // modo de renderização (opcões: cortar, enquadrar, aumentar, original)
45
47
"cor_fundo" => "#000000" // cor de fundo (utilizar hexadecimal - melhor resultado em imagens .png com fundo transparente)
46
48
),*/
47
-
"procedimentos" => array(
49
+
"imagem" => array(
48
50
"largura_gerar" => 300,
49
51
"altura_gerar" => 300,
50
52
"modo" => 'cortar',
51
53
),
52
-
"blog" => array(
53
-
"largura_gerar" => 400,
54
-
"altura_gerar" => 400,
55
-
"modo" => 'cortar',
56
-
"cor_fundo" => "transparente",
57
-
),
58
-
"doutor" => array(
59
-
"largura_gerar" => 430,
60
-
"altura_gerar" => 572,
61
-
"modo" => 'enquadrar',
62
-
),
63
54
);
64
55
65
56
$perfil = array();
@@ -153,9 +144,9 @@ function setImage($imagem, $extensao)
153
144
$qualidade = 100;
154
145
155
146
//New way
156
-
imagewebp($imagem, null, $qualidade);
147
+
//imagewebp($imagem, null, $qualidade);
157
148
/* Old fashioned way */
158
-
/*
149
+
159
150
switch ($extensao) {
160
151
case ("jpeg" || "jpg"):
161
152
imagejpeg($imagem, NULL, $qualidade);
@@ -170,7 +161,6 @@ function setImage($imagem, $extensao)
0 commit comments