Python ::: Pillow Python Imaging Library ::: Image |
Como abrir uma imagem no Pillow do Python usando a função open() do objeto ImageQuantidade de visualizações: 1628 vezes |
A função open() do objeto Image da biblioteca Pilow do Python é muito útil quando queremos abrir uma imagem para fins de edição ou exibição. Em sua forma mais simples este método exige apenas o caminho e nome da imagem e retorna um objeto PIL Image. Veja um trecho de código no qual usamos a função open() para abrir a imagem e, em seguida, usamos a função show() para exibir a imagem no visualizador de imagens padrão definido em nossa máquina: # vamos importar a biblioteca Pilow from PIL import Image # método principal def main(): # vamos abrir uma imagem imagem = Image.open("Mulher.png") # vamos exibir a imagem no visualizador padrão imagem.show("Foto a partir do Pilow") if __name__== "__main__": main() Note que o método show() do objeto Image é usado, na maioria das vezes, com o propósito de depuração de nossos códigos, já que ele cria um arquivo temporário e o envia ao visualizador padrão. Dessa forma nós podemos editar a imagem na memória e enviar para o visualizador todas as vezes que quisermos ver algum resultado. |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter apenas os elementos duplicados em um vetor usando as funções array_unique() e array_diff_assoc() do PHPQuantidade de visualizações: 15299 vezes |
Em algumas situações precisamos obter apenas os elementos que se repetem em um vetor (array). Isso pode ser feito combinando-se as funções array_unique() e array_diff_assoc(). Veja:<? // vamos declarar e inicializar um array de inteiros $valores = array(9, 2, 6, 11, 6, 9, 3, 6); // vamos listar os valores dos elementos no array echo "Elementos no array:<br>"; for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " - "; } // vamos exibir apenas os valores duplicados // Aviso: não use o laço for para percorrer o array // resultante. Em vez disso use foreach $valores = array_unique(array_diff_assoc( $valores, array_unique($valores))); echo "<br><br>Elementos repetidos:<br>"; foreach($valores as $valor){ echo $valor . " - "; } ?> A execução deste código produz o seguinte resultado: Elementos no array: 9 - 2 - 6 - 11 - 6 - 9 - 3 - 6 - Elementos repetidos: 6 - 9 - |
LISP ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em Lisp usando a função sqrtQuantidade de visualizações: 1401 vezes |
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função sqrt da linguagem Common Lisp. Veja o código completo: ; Vamos definir as variáveis que vamos ; usar no programa (defvar numero) (defvar raiz) ; Este o programa principal (defun RaizQuadrada() ; Vamos ler o número (princ "Informe um número: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável numero (setq numero (read)) ; calcula a raiz quadrada do número informado (setq raiz (sqrt numero)) ; E mostramos o resultado (format t "A raiz quadrada de ~F é ~F" numero raiz) ) ; Auto-executa a função RaizQuadrada() (RaizQuadrada) Ao executar este código Common Lisp teremos o seguinte resultado: Informe um número: 9 A raiz quadrada é: 3 É importante observar que, se fornecermos um valor negativo para a função sqrt da Common List não teremos um erro, como em muitas outras linguagens de programação. Em vez disso, o valor retornado será em forma de um número complexo. Veja: Informe um número: -9 A raiz quadrada de -9.0 é #C(0.0 3.0) |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Java Avançado - Como verificar se a tecla Caps Lock está ativada usando o método getLockingKeyState() da classe Toolkit do JavaQuantidade de visualizações: 11402 vezes |
Nesta dica mostrarei como é possível usar o método getLockingKeyState() da classe Toolkit da linguagem Java para verificar se a tecla Caps Lock estão ou não ativada no seu computador. Note o valor KeyEvent.VK_CAPS_LOCK sendo passado para o método. Veja o código completo para o exemplo: package arquivodecodigos; import java.awt.Toolkit; import java.awt.event.*; public class Estudos{ public static void main(String[] args){ Toolkit tk = Toolkit.getDefaultToolkit(); if(tk.getLockingKeyState(KeyEvent.VK_CAPS_LOCK)) System.out.println("A tecla Caps Lock está ativada"); else System.out.println("A tecla Caps Lock não está ativada"); System.exit(0); } } Ao executarmos este código você verá uma mensagem parecida com: A tecla Caps Lock está ativada |
Java ::: Dicas & Truques ::: Livros, E-books, Apostilas e Cursos |
E-Book 350 _Exercícios Resolvidos_ de Java - PDF com 500 páginasQuantidade de visualizações: 6076 vezes |
![]() Apenas R$ 19,90 - Pagamento único - Envio imediato. Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java. Trata-se de um PDF com 500 páginas contendo 350 exercícios resolvidos para você praticar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, internet, arquivos e diretórios, programação orientada a objetos e muito mais. Veja o conteúdo completo deste e-book acessando este link: Conteúdo do E-book 350 Exercícios Resolvidos de Java - PDF com 500 páginas. Novos exercícios resolvidos são acrescentados todos os dias. Por isso, lembre-se de solicitar sua atualização com frequência. Adquira pelo WhatsApp +55 (062) 98553-6711 (Osmar) ou diretamente pelo Mercado Pago (PIX, cartão de crédito, boleto, etc). |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar o índice da primeira ocorrência de um elemento em um array do JavaScript usando a função indexOf()Quantidade de visualizações: 2496 vezes |
Em algumas ocasiões nós precisamos obter e retornar o índice da primeira ocorrência de um determinado elemento em um array JavaScript. Para isso podemos usar a funções indexOf(). Se o elemento não puder ser encontrado, o valor -1 é retornado. Veja um exemplo de seu uso: <script type="text/javascript"> var valores = new Array(1, 2, 3, 2, 2, 4, 5); // vamos obter o índice da primeira ocorrência // do elemento com o valor 2 var indice = valores.indexOf(2); window.alert("Elemento encontrado no índice: " + indice); </script> Execute o código e veja que o elemento foi encontrado no índice 1, ou seja, na segunda posição do array, já que os índices de vetor e matriz em JavaScript começam a partir de 0. Experimente pesquisar o valor 50 e verá que o valor retornado é -1, indicando que o elemento não foi encontrado. |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como remover os espaços no final de uma string em JavaScript usando uma função trim_final() personalizadaQuantidade de visualizações: 167 vezes |
Há muitos anos eu precisava remover espaços no final de uma string em JavaScript e percebi que o objeto String, na época, não oferecia a função trim(). Não me restou opção a não ser sentar e escrever o código na mão mesmo. Hoje em dia não precisamos mais dele, mas fica aí para que você entenda a lógica empregada na resolução do problema. Veja a página HTML completa com o exemplo: <!doctype html> <html> <head> <title>Strings em JavaScript</title> </head> <body> <script type="text/javascript"> // função personalizada que remove os espaços // no final de uma string function trim_final(string){ // primeiro definimos o código do espaço var espaco = String.fromCharCode(32); // obtemos o tamanho da string var tamanho = string.length; // e criamos uma string temporária var temp = ""; // a string está vazia? if(tamanho < 0){ return ""; } // uma variável temporária para percorrermos // a string de trás para frente var temp2 = tamanho - 1; while(temp2 > -1){ if(string.charAt(temp2) == espaco){ // não faz nada } else{ temp = string.substring(0, temp2 + 1); break; } // decrementamos a variável temp2 temp2--; } return temp; } // vamos testar a função trim_final() var frase = "Gosto muito de JavaScript "; document.write("Com espaços no final: " + frase + "#" + "<br>"); // vamos remover os espaços no final da string frase = trim_final(frase); document.write("Sem espaços no final: " + frase + "#" + "<br>"); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Com espaços no final: Gosto muito de JavaScript # Sem espaços no final: Gosto muito de JavaScript# |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila Java - Como usar o tipo de dados double da linguagem JavaQuantidade de visualizações: 22081 vezes |
O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308. Este tipo ocupa 64 bits na memória (o mesmo que um long) e possui precisão de 14 ou 15 dígitos significativos. Veja um exemplo de seu uso:public class Estudos{ public static void main(String args[]){ double valor = 54.5; System.out.println("O valor da variável é: " + valor); System.exit(0); } } É importante observar que a maioria dos métodos numéricos das classes Java (principalmente Math) possuem parâmetros do tipo double. Isso é feito de modo que possamos fornecer argumentos do tipo byte, short, int, long, float, etc. Como todos os tipos primitivos (exceto boolean) podem ser convertidos para double sem a necessidade de cast, esta é sem dúvida uma escolha bem acertada dos arquitetos da linguagem. Observe ainda que o tipo double não pode ser convertido implicitamente para nenhum outro tipo de dados primitivo. Se precisarmos convertê-lo para os tipos char, byte, short, int, long ou float, teremos que lançar mão de uma coerção (cast). Veja: double valor = 54.5; int valor2 = (int)(valor); É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast. Não é recomendável usar o tipo double (ou float) para aplicações financeiras nas quais a precisão dos valores numéricos é de muita importância. Para estes casos recomenda-se usar a classe BigDecimal. |
C# ::: Dicas & Truques ::: Mouse e Teclado |
C# Windows Forms - Como tratar eventos do mouse em suas aplicações C# Windows FormsQuantidade de visualizações: 16575 vezes |
Aplicações de interface gráfica (GUI) em C# fazem uso extensivo do mouse e qualquer classe que herde de System.Windows.Forms.Control pode receber e tratar seus eventos. Os eventos do mouse mais comuns são pressionamento (click), liberação, movimento, etc. E cada um possui suas particularidades. Sempre que um evento do mouse ocorre, as informações sobre tal evento são fornecidas ao método de tratamento de evento por meio de um objeto da classe MouseEventArgs (alguns eventos usam EventArgs) e o delegate usado para criar os gerenciadores de eventos do mouse é MouseEventHandler. Veja, por exemplo, o tratador de evento para o evento MouseClick de um Button: private void button1_MouseClick(object sender, MouseEventArgs e){ MessageBox.Show("Sou um Button e acabei de ser clicado!"); } A classe MouseEventArgs é muito útil, pois é ela que nos permite obter informações sobre qual botão foi pressionado, as coordenadas x e y do evento, se um duplo-clique ocorreu, etc. Veja um trecho de código no qual verificamos qual botão do mouse foi pressionado durante um evento MouseUp em um formulário: private void Form1_MouseUp(object sender, MouseEventArgs e){ if(e.Button == MouseButtons.Left){ MessageBox.Show("Fui clicado com o botão esquerdo!"); } else if(e.Button == MouseButtons.Right){ MessageBox.Show("Fui clicado com o botão direito!"); } else if (e.Button == MouseButtons.Middle){ MessageBox.Show("Fui clicado com o botão do meio!"); } else{ MessageBox.Show("O que está acontecendo?"); } } Veja os eventos do mouse que possuem um objeto da classe EventArgs: a) MouseEnter - Ocorre quando o cursor do mouse entra na área de um controle. b) MouseLeave - Ocorre quando o cursor do mouse deixa a área de um controle. c) Click - Ocorre quando clicamos na área de um controle. Note que um click do mouse envolve pressionar e liberar o botão do mouse. Veja os eventos do mouse que possuem um objeto da classe MouseEventArgs: a) MouseDown - Ocorre quando o botão do mouse é pressionado dentro da área de um controle. b) MouseHover - Ocorre quando o cursor do mouse pára sobre a área de um controle (sem clique, pressionamento ou movimento). c) MouseMove - Ocorre quando movimentamos o mouse na área de um controle. d) MouseUp - Ocorre quando o botão do mouse é liberado sobre a área de um controle. e) MouseClick - Ocorre quando clicamos na área de um controle. Note que um click do mouse envolve pressionar e liberar o botão do mouse. Há algumas diferenças significativas entre os eventos Click e MouseClick. Não deixe de consultar as outras dicas desta seção para aprofundar seus conhecimentos. |
JavaScript ::: Dicas & Truques ::: Cookies |
Cookies em JavaScript - Como verificar a existência de um cookie usando JavaScriptQuantidade de visualizações: 99 vezes |
Nesta dica mostrarei como podemos criar uma função obterCookie() que recebe o nome de um cookie e nos retorna seu valor ou null. Se o retorno for diferentes de null então sabemos que o cookie existe e podemos prosseguir com alguma operação. Em outras dicas dessa seção você pode aprofundar seu conhecimento de cookies em JavaScript. Veja o código JavaScript completo para o exemplo, incluindo o código HTML: <html> <head> <title>Estudando JavaScript</title> <script type="text/javascript"> // função que permite obter um cookie function obterCookie(nome){ if(document.cookie.length > 0){ c_start = document.cookie.indexOf(nome + "="); if(c_start != -1){ c_start = c_start + nome.length + 1; c_end = document.cookie.indexOf(";", c_start); if(c_end == -1){ c_end = document.cookie.length; } return unescape(document.cookie.substring( c_start, c_end)); } } return null; } </script> </head> <body> <script type="text/javascript"> // verifica se o cookie "nome_visitante" existe var nome_visitante = obterCookie('nome_visitante'); if(nome_visitante != null){ document.writeln("O cookie nome_visitante existe"); } else{ document.writeln("O cookie nome_visitante não existe"); } </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: O cookie nome_visitante existe |
Nossas 20 dicas & truques de programação mais populares |
Portugol - Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior JavaScript - Como testar se ao menos um elemento de um array satisfaz uma condição em JavaScript usando a função some() GNU Octave - Como calcular o coeficiente angular de uma reta em GNU Octave dados dois pontos no plano cartesiano JavaScript - Como calcular o comprimento da hipotenusa em JavaScript dadas as medidas do cateto oposto e do cateto adjascente |
Você também poderá gostar das dicas e truques de programação abaixo |
JavaScript - Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |