Ir ao conteúdo
  • Cadastre-se

giovane2002

Membro Pleno
  • Posts

    24
  • Cadastrado em

  • Última visita

  1. Pesquisei muito na internet e não encontrei algo que me suprisse então consegui fazer sozinho e vou compartilhar com vocês. <label for="arquivo" style="cursor: pointer;"> <img id="cropbox" src="CAMINHO DA SUA FOTO" class="figure-img img-fluid rounded"> </label> <input class="d-none" type="file" accept=".png,.jpeg" id="arquivo"> usei bootstrap
  2. Copiei da internet um sistema para subir a foto para o servidor e depois pegar a mesma foto e recortar ela onde o usuario quiser, mas depois de enviar a foto para o servidor a pagina recarrega. fiz algumas mudanças porque estou mexendo com mvc seguem o codigo: <label for="arquivo" style="cursor: pointer;"> <img id="cropbox" src="<?php echo VENDOR_PATH . $_SESSION['nm_caminho_foto']; ?>" class="figure-img img-fluid rounded"> </label> <input class="d-none" type="file" accept=".png,.jpeg" id="arquivo"> <input type="hidden" id="x" name="x" /> <input type="hidden" id="y" name="y" /> <input type="hidden" id="w" name="w" /> <input type="hidden" id="h" name="h" /> </figure> <input type="submit" onclick="submitForm();" id="sendButton" value="Enviar"> function getCoords() { var api; $('#toCrop').Jcrop({ minSize: [160, 160], aspectRatio: 1, bgOpacity: 0.4, addClass: 'jcrop-light', onSelect: updateCoords, onChange: updateCoords, setSelect: [0, 0, 160, 160] }); } function updateCoords(c) { $('#x').val(c.x); $('#y').val(c.y); $('#w').val(c.w); $('#h').val(c.h); }; function _(element) { if (document.getElementById(element)) return document.getElementById(element); else return false; } function submitForm() { if (_('arquivo').files[0]) { //Se houver um arquivo, faremos alguns testes no mesmo var arquivo = _('arquivo').files[0]; if (arquivo.type != 'image/png' && arquivo.type != 'image/jpeg') _('result').innerHTML = 'Por favor, selecione uma imagem do tipo JPEG ou PNG'; else if (arquivo.size > 1024 * 2048) //2MB _('result').innerHTML = 'Por favor selecione uma image mo máximo 2MB de tamanho.'; else { var x = _('x').value; var y = _('y').value; var w = _('w').value; var h = _('h').value; var formData = new FormData(); formData.append('arquivo', arquivo); formData.append('x', x); formData.append('y', y); formData.append('w', w); formData.append('h', h); if (_('imgType')) { var imgType = _('imgType').value; formData.append('imgType', imgType); } if (_('imgName')) { var imgName = _('imgName').value; formData.append('imgName', imgName); } var request = new XMLHttpRequest(); if (_('toCrop')) var includeFile = 'painel/crop'; else { var includeFile = 'painel/recebe'; } request.open('post', includeFile, true); request.onreadystatechange = function() { if (request.status == 200) { _('result').innerHTML = request.responseText; $('.modal').modal('show'); } if (_('toCrop')) { _('sendButton').value = 'Recortar'; } } $('.modal').modal('show'); request.send(formData); _('result').innerHTML = '<img src="./recursos/gif/loading.gif" />'; } } else _('result').innerHTML = 'Por favor, selecione uma imagem para ser enviada!'; } \Router::rota("painel/crop", function () { if (!empty($_POST) && $_SESSION['isLogado']) { $fileType = $_POST['imgType']; $imgName = $_POST['imgName']; define('OUTPUT', 'recursos/img/fotos_usuarios/' . $imgName); if ($fileType == 'image/png') { $img = imagecreatefrompng('recursos/img/fotos_usuarios/tmp/' . $imgName); } else { $img = imagecreatefromjpeg('recursos/img/fotos_usuarios/tmp/' . $imgName); } $imgWidth = imagesx($img); $imgHeight = imagesy($img); $newImage = imagecreatetruecolor(160, 160); imagecopyresampled($newImage, $img, 0, 0, $_POST['x'], $_POST['y'], 160, 160, $_POST['w'], $_POST['h']); if ($fileType == 'image/png') $finalImage = imagepng($newImage, OUTPUT); else $finalImage = imagejpeg($newImage, OUTPUT); if ($finalImage) echo 'Foto atualizada com sucesso<img id="thumbnail" src="' . OUTPUT . '" />'; else echo 'Ocorreu um erro ao tentar criar a nova imagem'; } }); \Router::rota("painel/recebe", function () { if (!empty($_POST) && $_SESSION['isLogado']) { $fileName = $_FILES['arquivo']['name']; $fileTMP = $_FILES['arquivo']['tmp_name']; $fileType = $_FILES['arquivo']['type']; $fileError = $_FILES['arquivo']['error']; $fileEXT = explode('.', $fileName); $newName = $_SESSION['id_usuario'] . '.' . end($fileEXT); $permitido = array('image/png', 'image/jpeg'); define('OUTPUT', 'recursos/img/fotos_usuarios/tmp/' . $newName); if (in_array($fileType, $permitido) == false) echo 'Por favor selecione um arquivo do tipo JPEG ou PNG.'; elseif ($fileError == 4) echo 'Desculpe, mas o arquivo não foi enviado, por favor, tente novamente,'; elseif ($fileError == 3) echo 'Desculpe, o envio do arquivo não foi completado com sucesso, por favor, tente novamente.'; elseif ($fileError == 2) echo 'Esta imagem é muito grande, por favor, selecione uma imagem de até 2MB de tamanho!'; elseif ($fileError == 1) echo 'Esta imagem é muito grande, por favor, selecione uma imagem de até 2MB de tamanho!'; else { if ($fileType == 'image/png') $img = imagecreatefrompng($fileTMP); else $img = imagecreatefromjpeg($fileTMP); $imgWidth = imagesx($img); $imgHeight = imagesy($img); if ($imgWidth > 500) { $x = 500; $y = ceil(($imgHeight / $imgWidth) * $x); } else { $x = $imgWidth; $y = $imgHeight; } if ($y > 500) { $y2 = 500; $x = ceil(($x / $y) * $y2); $y = $y2; } $newImage = imagecreatetruecolor($x, $y); imagecopyresampled($newImage, $img, 0, 0, 0, 0, $x, $y, $imgWidth, $imgHeight); if ($fileType == 'image/png') { header('Content-Type: image/png'); $finalImage = imagepng($newImage, OUTPUT); } else { $finalImage = imagejpeg($newImage, OUTPUT); } if ($finalImage) echo '<img onload="getCoords();" id="toCrop" src="' . OUTPUT . '" /><input type="hidden" id="imgType" value="' . $fileType . '"/><input type="hidden" id="imgName" value="' . $newName . '"/>'; else echo 'Ocorreu um erro ao tentar criar a nova imagem'; } } }); Muito provavelmente o problema é so na função submitForm();
  3. Fiz uma footerbar para quando o usuario rolar a tela para cima ela apareça, até ai tudo bem, no celular também funciona, mas alguns navegadores de celular vem aparece algumas opções também, quero saber se tem algum jeito com css ou js de verificar se o navegador possui essa footerbar como padrão ou se quando ela aparecer a minha footer bar ficar em cima da do navegador. Primeira imagem é o exemplo de um navegador com a propria footerbar e a segunda é de como deveria ficar; <div class="container fixed-bottom" id="footbar"> <div class="container" id='footerconfig'> <div class="float-right d-flex"> <div> <div class="onoffswitch" style="bottom: -4px"> <input type="checkbox" onclick="darkmode.toggle();" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch"> <label class="onoffswitch-label dark-toggle" for="myonoffswitch"> <span class="onoffswitch-inner"></span> <span class="onoffswitch-switch"></span> </label> </div> </div> <div class="ml-2"> <label style="cursor: pointer; color: white;" for="myonoffswitch"> Dark Mode </label> </div> </div> </div> #footbar { transition: 0.5s; } #footerconfig { padding-bottom: 33px; padding-top: 10px; background-color: #343a40!important; } //tentativa de arrumar o problema @media only screen and (max-device-width: 768px) { #footerconfig { padding-bottom: 33px; padding-top: 10px; background-color: #343a40!important; } } ps: estou usando bootstrap, jquery e darkmode.js
  4. Ok entendi obrigado pelo ajuda, vou iniciar o computador no modo de segurança, ver se foi culpa do windows update que mexeu em algum driver, se for eu assumo a responsabilidade agora se for alguma coisa de hardware ou que ele mexeu eu cobro o cliente. E também vou explicar para ele que minha garantia foi de 30 dias. Já dei 2 retornos em um computador por causa do botão.
  5. A sim, não foi definido o tempo e o que a garantia cobre, mas dando uma olhada na internet vi que serviços não duráveis tem uma garantia de 30 dias já serviços duráveis tem garantia de 90 dias, e fiquei na dúvida se o meu serviço foi um serviço durável ou não durável, pelo visto foi um serviço durável né ? Mas também se eu formatar um computador o cliente pode instalar alguma coisa e dar a tela azul por exemplo e falar que a garantia tem que cobrir http://hardware.rbtech.info/quanto-tempo-dar-de-garantia-por-uma-formatacao/ um artigo falando que a formatação não tem garantia.
  6. Fiz a formatação de 5 maquinas para uma imobiliária e uma revisão nelas de hardware, não troquei peça nem nada. Instalei os computadores nos devidos lugares nomeie na rede e instalei a impressora em todos. Quanto tempo de garantia devo dar? Já se passou dois meses e meio e um computador veio a dar imagem azul agora, cobro do cliente a visita ? Ou falo que é 3 meses de garantia ? Já ouvi que formatação não tem garantia e também já ouvi que formatação tem garantia de 3 meses, e agora estou na duvida.
  7. @Pepse jogo em 1360x768 que é a resolução padrão da tv, quando jogo com essa resolução no monitor ele roda liso mas quando vou com essa mesma resolução pra tv o jogo fica lagando, troquei o cabo HDMI e vou tentar. Vou verificar os Hz também
  8. Tenho um monitor Full HD e uma tv 1360x768 quando jogo no monitor o jogo roda liso a 60 constante com a resolução igual da tv mas quando coloco o jogo na tv ele trava muito nem chega a 30 fps tenho uma GT 420, e o cabo que tá na tv tem 3 metros será que tem alguma coisa haver ?
  9. Resolvido, baixei o x360ce (o novo que serve para jogos de 64 e 32 bits) fui nas configurações e ativei a dll 1.3 e 1.1 e os gatilhos estão funcionando corretamente agora
  10. Quando aperto o LT e o RT ao mesmo tempo nenhum dos dois funcionam, vi que isso é causada porque os dois são interpretados como eixo Z no computador, estou tentando de tudo mas não consigo resolver, no gerenciador de dispositivo fica como Dispositivo de entrada compatível com Xinput Bluetooth, na parte de dispositivos de interface humana e na categoria bluetooth fica como Xbox wireless controller
  11. Estou tentando jogar bordlands 2 (via epic) com o controle do xbox one mas o jogo não reconhece ele, ja joguei outro jogos com ele e funciona normal.
  12. Infelizmente o problema voltou depois de alguns dias, acontece bastante em New world não consigo ficar nem 20 minutos jogando, testei a fonte e a corrente está certa
  13. Problema resolvido foi só limpar as entradas da fonte na placa-mãe

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!