Você está aqui: Delphi ::: Imagens, Gráficos e Cores ::: TBitmap (A classe TBitmap)

Como definir a largura e a altura de um TBitmap do Delphi usando as propriedades Width e Height

Quantidade de visualizações: 322 vezes
Quando criamos um novo objeto TBitmap usando TBitmap.Create, o Delphi nos retorna um Bitmap com largura e altura com 0 pixels. Quando usamos a função Assign() da classe TBitmap para atribuir uma imagem ao Bitmap, suas propriedades Width e Height são ajustadas para as dimensões da imagem que foi carregada.

No entanto, em algumas situações, nós precisamos definir esses valores nós mesmos, ou seja, queremos ajustar a largura e a altura do Bitmap, antes ou depois de já ter atribuído uma imagem a ele.

Veja no trecho de código abaixo como isso pode ser feito:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Note que carregamos uma imagem JPG em um objeto TJpegImage e, em seguida, fornecemos esta imagem a um TBitmap. Então, antes de desenhar o Bitmap no Canvas do formulário nós ajustamos sua largura e altura. Isso dará um efeito de cropping, ou seja, a imagem foi recortada.

É importante que você tenha em mente que apenas ajustar a largura e a altura do TBitmap não faz com que a imagem seja redimensionada. Em outras dicas dessa seção você aprenderá como fazer isso da forma correta.


Delphi ::: Dicas & Truques ::: Imagens e Processamento de Imagens

Como carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la no formulário usando Delphi

Quantidade de visualizações: 16698 vezes
Em algumas situações nós precisamos carregar uma imagem JPG, convertê-la em Bitmap e desenhá-la em nosso formulário. Nesta dica eu mostro como isso pode ser feito. Vamos começar lendo a imagem JPG a partir do diretório da aplicação:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Veja que a técnica consiste em carregar a imagem JPG e convertê-la em Bitmap usando o método Assign() da classe TBitmap. Em seguida só precisamos usar o método Draw() do Canvas do formulário para desenhar a imagem já convertida.

Caso você precise carregar a imagem JPG em tempo de execução, basta colocar um TOpenPictureDialog no formulário e alterar o código do evento Click do botão para:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso


Vamos complicar um pouco mais? Que tal uma função que carrega a imagem JPG, faz a conversão para Bitmap e retorna o Bitmap para o chamador? Veja:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: Dicas & Truques ::: Arquivos e Diretórios

Como excluir diretórios em Delphi usando a função RemoveDir()

Quantidade de visualizações: 14145 vezes
Em algumas situações nossas aplicações Delphi precisam remover diretórios. Isso pode ser feito com o auxílio da função RemoveDir() da unit SysUtils. Esta função recebe uma string representando o diretório a ser excluído e retorna um valor true se o diretório foi excluído com sucesso e false em caso contrário. Para que o diretório seja excluído com sucesso ele deverá estar vazio.

Veja um trecho de código no qual usamos a função RemoveDir() para remover um diretório:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Ao executar este código Delphi nós teremos o seguinte resultado:

Diretório excluído com sucesso.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: Dicas & Truques ::: Strings e Caracteres

Apostila Delphi para iniciantes - Como acessar os caracteres de uma string individualmente

Quantidade de visualizações: 16062 vezes
Em algumas situações pode ser necessário acessar os caracteres de uma palavra, frase ou texto individualmente. Em Delphi isso pode ser feito usando-se a indexação de matrizes. Tenha em mente, porém, que o índice em Delphi começa em 1 e não 0, como na maioria das linguagens.

Veja um trecho de código no qual acessamos o primeiro caractere de uma string:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Veja outro exemplo, no qual usamos um laço for para visitar cada um dos caracteres e exibí-lo:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Assim como acessamos os caracteres individuais de uma string para leitura, podemos fazê-lo também para alterações. Veja um trecho de código no qual trocamos o terceiro caractere de uma string:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: Dicas & Truques ::: Data e Hora

Como adicionar ou subtrair meses de uma data em Delphi usando a função IncMonth()

Quantidade de visualizações: 18293 vezes
Em algumas situações precisamos adicionar ou subtrair meses de uma determinada data. Em Delphi isso pode ser feito com o auxílio da função IncMonth() da unit DateUtils. Este função aceita um TDateTime e a quantidade de meses que queremos acrescentar ao TDateTime fornecido como argumento. O retorno será um novo TDateTime com a quantidade de meses acrescida.

Veja um trecho de código no qual adicionamos 2 meses à data atual:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

É possível também usar a função IncMonth() para substrair meses de uma data. Para isso só precisamos fornecer uma quantidade negativa de meses. Veja:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

O valor padrão para o segundo argumento de IncMonth() é 1.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows)

Como verificar se uma chave já existe no registro do Windows usando a função KeyExists() da classe TRegistry do Delphi

Quantidade de visualizações: 15436 vezes
Em algumas situações nós gostaríamos de verificar se uma determinada chave já existe no registro do Windows, talvez antes de criá-la, excluí-la ou tentar ler algum de seus valores.

O método KeyExists() da classe TRegistry pode ser usado para esta finalidade. Este método recebe uma string representando a chave a ser pesquisada e retorna um valor Boolean indicando a existência da chave. Veja o trecho de código abaixo:

Este trecho de código ou resolução de exercício faz parte do Super Pack +10.000 Dicas e Truques de Programação e +500 Exercícios Resolvidos em Java, Delphi, C#, C, C++, Python, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Liberar Acesso

Aqui nós estamos verificando a existência da chave "Arquivo de Códigos" a partir da chave raiz HKEY_CURRENT_USER.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Veja mais Dicas e truques de Delphi

Dicas e truques de outras linguagens

Linguagens Mais Populares

1º lugar: Java
2º lugar: C#
3º lugar: PHP
4º lugar: Python
5º lugar: Delphi
6º lugar: JavaScript
7º lugar: C
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Elétrica pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 15 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..


© 2021 Arquivo de Códigos - Todos os direitos reservados | Versión en Español | Versão em Português