function redesenhaCorpo($tipoimagem, $utilizacgi, $locmapserv) { ms_ResetErrorList(); if (file_exists($this->locaplic . "/classe_imagem.php")) { include_once $this->locaplic . "/classe_imagem.php"; } else { include_once "classe_imagem.php"; } $nomer = ""; $qy = file_exists($this->qyfile); if ($qy) { foreach ($this->layers as $l) { $l->set("template", "none.htm"); carregaquery2($this->arquivo, $l, $this->mapa); } } $legenda = $this->mapa->legend; // //prepara a legenda para incluir no mapa, preenchendo os nomes das classes que podem estar em branco //isso ocorre quando o layer tem s� uma classe // if ($legenda->status == MS_EMBED) { foreach ($this->layers as $layer) { if ($layer->data != "" && strtoupper($layer->getmetadata("escondido")) != "SIM" && strtoupper($layer->getmetadata("tema")) != "NAO") { if ($layer->numclasses > 0) { $classe = $layer->getclass(0); if ($classe->name == "" || $classe->name == " ") { $classe->set("name", $layer->getmetadata("tema")); } } } } } $nome = nomeRandomico(); // //gera a imagem do mapa //se estiver sendo utilizado o cgi para desenhar a imagem //é necessário criar uma imagem vazia para capturar o nome que será retornado // if (isset($utilizacgi) && strtolower($utilizacgi) == "sim" && $tipoimagem == "nenhum" && !$qy) { foreach ($this->layers as $l) { $l->set("status", MS_OFF); } $imgo = @$this->mapa->draw(); } else { //if($tipoimagem != "nenhum") //{ $of = $this->mapa->outputformat; $of->set("imagemode", MS_IMAGEMODE_RGB); //} if (!$qy) { $imgo = @$this->mapa->draw(); } else { $imgo = @$this->mapa->drawQuery(); } $mensagemErro = ""; $error = ms_GetErrorObj(); while ($error && $error->code != MS_NOERR) { //printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); $mensagemErro .= $error->routine . " " . $error->message; $error = $error->next(); } ms_ResetErrorList(); $mensagemErro = str_replace("'", " ", $mensagemErro); $mensagemErro = str_replace(":", " ", $mensagemErro); $mensagemErro = str_replace("\n", " ", $mensagemErro); $nomer = $imgo->imagepath . "mapa" . $nome . ".png"; $imgo->saveImage($nomer); // //aplica o filtro de imagem se estiver definido em $tipoimagem // if ($tipoimagem !== "nenhum") { $tiposImagem = explode(" ", $tipoimagem); foreach ($tiposImagem as $tipoimagem) { $m = new Imagem($nomer); if ($tipoimagem == "cinza") { imagepng($m->cinzaNormal(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "sepiaclara") { imagepng($m->sepiaClara(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "sepianormal") { imagepng($m->sepiaNormal(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "negativo") { imagepng($m->negativo(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "detectaBordas") { imagepng($m->detectaBordas(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "embassa") { imagepng($m->embassa(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "gaussian_blur") { imagepng($m->gaussian_blur(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "selective_blur") { imagepng($m->selective_blur(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "mean_removal") { imagepng($m->mean_removal(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "pixelate") { imagepng($m->pixelate(), str_replace("\\", "/", $nomer)); } } } $nomer = $imgo->imageurl . basename($nomer); } if ($imgo == "") { return "erro"; } $e = $this->mapa->extent; $ext = $e->minx . " " . $e->miny . " " . $e->maxx . " " . $e->maxy; if (isset($utilizacgi) && strtolower($utilizacgi) == "sim" && !$qy) { $nomer = $locmapserv . "?map=" . $this->arquivo . "&mode=map&" . nomeRandomico(); } $res["mapscale"] = $this->mapa->scaledenom; $res["mapres"] = $this->mapa->resolution; $res["pixelsize"] = $this->mapa->cellsize; $res["mapexten"] = $ext; $res["mapimagem"] = $nomer; $res["w"] = $imgo->width; $res["h"] = $imgo->height; $res["mappath"] = $imgo->imagepath; $res["mapurl"] = $imgo->imageurl; $res["erro"] = $mensagemErro; return $res; }
function filtraImg($nomer, $tipoimagem) { include_once "classe_imagem.php"; $tiposImagem = explode(" ", $tipoimagem); foreach ($tiposImagem as $tipoimagem) { $m = new Imagem($nomer); if ($tipoimagem == "cinza") { imagepng($m->cinzaNormal(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "sepiaclara") { imagepng($m->sepiaClara(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "sepianormal") { imagepng($m->sepiaNormal(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "negativo") { imagepng($m->negativo(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "detectaBordas") { imagepng($m->detectaBordas(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "embassa") { imagepng($m->embassa(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "gaussian_blur") { imagepng($m->gaussian_blur(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "selective_blur") { imagepng($m->selective_blur(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "mean_removal") { imagepng($m->mean_removal(), str_replace("\\", "/", $nomer)); } if ($tipoimagem == "pixelate") { imagepng($m->pixelate(), str_replace("\\", "/", $nomer)); } } }