Diminuindo fotos automaticamente

10/13/2007 8:54:00 PM By Felipe Pessoto

Criei esse programa pra diminuir algumas fotos de forma automatica. As vezes deixamos a câmera digital no modo com mais alta resolução e isso vai consumindo o HD. No exemplo iremos diminuir a foto pra largura ou altura(o que for maior) de 640px.

Vamos precisar de um Button, um CheckBox e uma ProgressBar:



Vamos criar o método que irá gerar a foto menor:

private void GravarThumb (FileInfo Arquivo)
{
   Bitmap bm;
   Bitmap thumb;
   int altura;
   int largura;

   bm = (Bitmap)Bitmap.FromFile(Arquivo.FullName);

   if(bm.Width > 640 || bm.Height > 640)
   {
      altura = (int)(640f/ bm.Width * bm.Height);
      if(altura > 640)
      {
         largura = (int)(640f/ bm.Height * bm.Width);
         thumb = new Bitmap(bm, new Size(largura, 640));
      }
      else
      {
         thumb = new Bitmap(bm, new Size(640, altura));
      }
   }
   else
   {
      thumb = new Bitmap(bm);
   } 
   thumb.Save(Arquivo.DirectoryName + "/tn_" + Arquivo.Name, System.Drawing.Imaging.ImageFormat.Jpeg);
}

E dentro do evento Click do Button:

if
   (folderBrowser.ShowDialog() == DialogResult.OK)
   {
   DirectoryInfo d = new DirectoryInfo(folderBrowser.SelectedPath);
   FileInfo[] Arquivos;

   if(chkIncluirSubPastas.Checked)
       Arquivos = d.GetFiles("*.jpg",SearchOption.AllDirectories);
   else
       Arquivos = d.GetFiles("*.jpg",SearchOption.TopDirectoryOnly);

   progressBar1.Maximum = Arquivos.Length;

   foreach(FileInfo Arquivo in Arquivos)
   {
      GravarThumb(Arquivo);
      progressBar1.Value++;
      Application.DoEvents();
   }
   progressBar1.Value = 0;
}

 

Inserindo strings em Imagens

10/11/2007 3:25:00 PM By Felipe Pessoto

Este é um pequeno artigo, ou melhor uma dica de como inserir uma string nas suas fotos.

Um exemplo prático seria para um texto de Copyright

Vamos ao código:

//Carregamos o arquivo da imagem pra uma classe Image
//(poderia ser Bitmap também, que é uma classe derivada da Image)
Image i = Image.FromFile(@"C:\WINDOWS\Web\Wallpaper\Alegria.bmp");

//Instanciamos um objeto Graphics,
//que contém métodos para editarmos nossa Image
Graphics g = Graphics.FromImage(i);

//Instanciamos o objeto Font,
//escolhemos o nome da Font, tamanho e estilos
//(para usar dois ou mais estilos use o operador Bitwise
//ex.: FontStyle.Bold | FontStyle.Italic)
Font f = new Font("Verdana", 40, FontStyle.Bold);

//O objeto StringFormat é opcional,
//você pode usa-lo para configurar alinhamento e direção do texto(entre outras opções)
StringFormat s = new StringFormat();
s.Alignment = StringAlignment.Center;

//Agora simplesmente chamamos o método DrawString,
//passando a string que queremos escrever na imagem, a fonte,
//um Brush(você pode usar algum das propriedades da classe Brushes,
//ou criar um Brush personalizado),
//o local que você quer a string e opcionalmente um StringFormat.
g.DrawString("Felipe", f, Brushes.Blue, 100f, 100f, s);

//Finalmente salvamos o arquivo
i.Save(@"C:\WINDOWS\Web\Wallpaper\Alegria2.bmp");

É muito simples! Espero postar outros artigos em breve, assim que tiver mais tempo.

Microsoft quer códigos mais seguros e de qualidade

10/8/2007 9:51:00 PM By Felipe Pessoto

A Microsoft continua a ajudar os desenvolvedores à escrever código de melhor qualidade e mais seguro.
Ela está adicionando características novas para análise de código na próxima versão da sua suite de desenvolvimento, o Visual Studio 2008.

No Visual Studio 2005, a companhia integrou um par de ferramentas: FxCop e PREfast, sob os nomes de Managed Code Analysis e C/C++ Code Analysis, disse S. “Soma” Somasegar, vice-presidente da divisão de desenvolvimento da Microsoft.

Agora para o Visual Studio 2008, a equipe de análise de código da Microsoft está adicionando algumas características novas, incluindo o Code Metrics, uma nova janela de ferramentas "que permitirá que você não somente tenha uma visão geral da qualidade do código, mas também a possibilidade de se aprofundar nos pontos de difícil manutenção e mais complexos,” disse Somasegar.

Para o Visual Studio 2008, o Code Metrics virá com 5 modos: Cyclomatic Complexity, Depth of Inheritance, Class Coupling, Lines of Code e Maintainability Index.


Outras características novas incluem as melhorias no Code Analysis Policy, que permitem se assegurar de que a análise do código esteja funcionando antes de cada registro. A equipe da Microsoft fez também algumas melhorias na usabilidade, incluindo uma orientação melhor e fornecendo mais controle sobre os ajustes que são aplicados na política dos projetos.

De acordo com o blog de Somasegar, a análise de código do Visual Studio 2008 será caracterizada também por melhorias como: sustentação para analisar métodos anônimos e expressões lambda; análise nova, incluindo regras adicionais de segurança, de globalização, da manutenção e da sintetização de voz (incluindo suporte à dicionário customizado); melhor suporte para C++/CLI e o Compact Framework; e as melhorias de desempenho que diminuíram o tempo de análise sobre código gerenciado em duas vezes, e consumindo metade da memória do Visual Studio 2005.

A Microsoft anunciou o lançamento oficial do Visual Studio 2008 junto com Windows Server 2008 e SQL Server 2008 para o dia 27 de Fevereiro 2008 em Los Angeles. Entretanto, o código final do Visual Studio 2008 é esperado para o fim deste ano.

MSDN Magazine - Outubro 2007

10/5/2007 6:51:00 PM By Felipe Pessoto

Ja está disponível para download a revista MSDN Magazine desse mês:

•Segmentos Agrupados: Aumente a escalabilidade com as novas APIs do pool de segmentos
• SEGMENTOS DO WPF: Crie aplicativos que respondem melhor com o despachante
• LINQ paralelo: Como executar consultas em processadores de vários núcleos
• Desempenho paralelo: Otimizar o código gerenciado para máquinas de vários núcleos
• Aplicativos móveis: Ajuste o volume do toque do celular ao som ambiente

 

Download em Português - Download em Inglês

Código Fonte das bibliotecas do .Net Framework

10/5/2007 12:26:00 AM By Felipe Pessoto

A Microsoft está planejando liberar o código fonte das bibliotecas do Framework no Visual Studio 2008, para ajudar os desenvolvedores a entender melhor a base do sistema e melhorar o processo de debug.

O Visual Studio 2008 está em Beta2, e deve sair no final desse ano, trazendo muitas outras novidades interessantes, mas não é esse o foco desse post.

No início estará disponível o código fonte(incluindo os comentários) das seguintes bibliotecas:


  • Base do .NET(System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc)

  • ASP.NET (System.Web)

  • Windows Forms (System.Windows.Forms)

  • ADO.NET (System.Data)

  • XML (System.Xml)

  • WPF (System.Windows)

E nos meses seguintes outras serão liberadas(WCF, Workflow e LINQ)

Todas sobre a licença Microsoft Reference License (Pelo que li, será algo como, leia mas não edite nem distribua).

Legal que vai ser possível fazer o download de um StandAlone do código fonte, ou usar integrado ao Debug do VS 2008. No caso do Debug, você pode baixar todo o código ou baixar sobre demanda.