quinta-feira, 12 de novembro de 2009

MediaCoder - Converte tudo

O MediaCoder um excelente conversor de audio e video que vem acompanhado de poderosos codecs e ferramentas o colocam na posição de uma das melhores ferramentas de conversão de diferentes formatos de audio e video.
mediacoder

Poderoso conversor de videos para formatos de telemóveis, PDAs, leitores de MP4s, Sony PSPs e leitores de VCD/DVD. Ripe audio e video de Cds e DVDs e converta para VCDs e DVDs.
Suporta:
MP3, Ogg Vorbis, AAC, AAC+/Parametric Stereo, AMR NB/WB, MusePack, WMA, RealAudio, FLAC, WavPack, Monkeys Audio (APE, APL), OptimFrog, WMA Lossless, WAV, H.264, Xvid, DivX 4/5, MPEG 1/2/4, H.263, 3ivx, RealVideo, Windows Media Video 7/8/9, DV, AVI, MPEG/VOB, Matroska, MP4, RealMedia, ASF/WMV, Quicktime MOV, OGM, CD, VCD, DVD, CUE Sheets.
Consegue converter em:
MP3, Ogg Vorbis, AAC, AAC+/Parametric Stereo, AMR NB/WB, MusePack, WMA, FLAC, WavPack, Monkeys Audio (APE, APL), OptimFrog, WMA Lossless, WAV, H.264, Xvid, DivX 4/5, MPEG 1/2/4, H.263, Flash Video, AVI, MPEG/VOB, Matroska, MP4, PMP (Formato PSP Media Player)
É o programa ideal para “colar” as legendas aos filmes e os reproduzir posteriormente na XBox 360 ou na PS3 (formato DivX).
Este programa faz sincronização com o Site oficial em certas ocasiões.
Compatibilidade: Todas as versões Windows
Licença: GPL
Homepage: Stanley Huang
Download: MediaCoder 0.7.2 Build 4535

terça-feira, 10 de novembro de 2009

Paint.NET 3.50 Final

Paint.NET é um editor de imagens e fotos gratuito, mas super poderoso, conseguindo fazer frente até ao famoso Adobe Photoshop! Vem com novos recursos para a área de trabalho, um enorme opção de de efeitos especiais, suporte a plug-ins e manipulação de camadas (layers). Recomendado pelo KeroDicasKeroDownload.
paintnet35_final
Simples, intuitiva e inovadora interface de utilizador
Cada característica e elemento da interface foi projectada de forma a que o utilizador rapidamente conheça todos os “cantos à casa”. Quando o utilizador lida com várias imagens em simultâneo, o programa utiliza miniaturas com pré-visualização para o utilizador poder alternar facilmente a imagem a editar, o que torna a navegação entre imagens muito mais simples e rápida-.

A interface também teve direito a melhorias, integrando-se melhor, a nível visual, com o Aero Glass do Windows Vista e do Windows 7.
Performance
Um trabalho extensivo foi feito no Paint.NET para garantir que este seja o mais rápido editor de imagens no mercado. Seja um simples processador de um netbook ou um brutal processador de servidor (Xeon), é garantido que o programa seja rápido e com uma resposta ao clique elevada.

Camadas e Efeitos Especiais
Pode não ser um Adobe Photoshop, mas uma coisa é certa: Paint.Net não fica muito atrás de programas pagos que permitam editar imagens. Por isso, aplicar uma nova camada ou um ou vários efeitos especiais podem enriquecer facilmente a composição de uma imagem.

Ferramentas Poderosas
Todas as ferramentas são bastante simples de utilizar, tão simples como recortar a imagem, redimensioná-la, alterar a saturação, o brilho e a claridade da mesma ou tão simples como ferramentas como a Magic Wand que selecciona regiões de cor relacionadas com o que escolhemos. O programa também cria automaticamente um histórico para o utilizador poder anular ou voltar atrás nas suas acções de edição.

Como bónus, o programa faz update automáticos, o que se traduz em melhorias e correcções de alguns bugs que poderão ainda estar presentes no programa. O programa funciona a 64 bits caso o sistema operativo também o seja.
Compatibilidade: Windows XP SP2+, Vista e 7 com .NET Framework 3.5 SP1
Licença: Freeware
Homepage: Paint.Net
Download: Paint.NET 3.50 Final

Ubuntu 9.10 traz muitas novidades


Ubuntu versão Netbook


Após um grande hiato, postarei mais uma dica de lord, porque esta realmente vale a pena.

A Canonical liberou para download, hoje, a versão 9.10 da distribuição Linux Ubuntu que, entre outras características, estreia um serviço gratuito de computação em nuvem e melhor conectividade com redes 3G.
“O Ubuntu 9.10 dá aos usuários mais razões do que nunca para considerar seriamente o Linux como seu sistema operacional, justamente em um momento em que muitos usuários estão repensando as suas opções”, diz Jane Silber, COO da Canonical.
“Uma seqüência de boot, login e sincronização de arquivos e contatos mais atraente, por meio de serviços online e ótimas experiências com os modelos de notebooks, desktops e netbooks mais populares, devem posicionar o Ubuntu melhor entre as opções comerciais”, diz.
A novidade mais celebrada da versão é o recurso “Ubuntu One”. Trata-se de um pacote de serviços online, baseado em computação em nuvem, já lançado na versão beta de maio deste ano. O One funciona como uma nuvem pessoal na web, facilitando os processos de backup, sincronização e o compartilhamento de arquivos.
Para usar o One, a Canonical libera 2 GB por usuário. Para baixar o Ubuntu, vá ao http://www.ubuntu.com/getubuntu A versão tem 690 MB.
Um ponto positivo do SO é que cabe em um CD e já bem com tudo. As aplicações mais básicas para você usar seu PC e navegar na internet de modo quase automático (para quem tem banda larga). A nova versão do Windows possui 3GB de instalação e se faz necessário instalar Office e mais uma gama de softwares.

Outra vantagem é o sinaptic onde se pode instalar programas dando apenas um clique. Ele faz download e instala automaticamente para você, isso tudo de graça.

Com ubuntu não se instala driver algum e o sistema roda de uma forma absurdamente estávelÉ simples, leve e facilmente customizável. O ponto negativo vai para quem ainda tem internet discada. É muito complexo configurar um modem discado para uso no Ubuntu.

A nova versão é customizada em três compilações: A desktop em geral. Uma para netbooks, sendo mais leve ideais para atoms e aparelhos do tipo com pouca capacidade de processamento. E a versão Server Edition, para gerenciamento de Servidores, com recursos exclusivos.

Para quem gosta de personalizar o Sistema, pode-se baixar o Blackbox gerenciador do Linux para sua distro Ubuntu. Para quem tem Windows XP pode-se experimentar o BlackBox no PC sem comprometer seu computador seguindo o tutorial:


http://www.vivaolinux.com.br/artigo/Rode-o-Blackbox-no-Windows-XP/?pagina=3


Ubuntu versão desktop

domingo, 4 de outubro de 2009

Tópicos Avançados - MySQL

O MySQL 5, só é um SGBD útil se fizer uso de seus recursos!

Os novos recursos do SGBD são:

Triggers
Stored Procedures
Integridade Referencial (de verdade)
Transactions e etc...

Caso contrário, faz sentido usar apenas a versão 4.0

O MySQL tem uma característica única que é a possibilidade de escolha do tipo de tabela, cada uma com suas características para atender melhor, ou não, a determinadas tarefas. O MySQL também possui limitações relacionadas com o tipo de tabela utilizada no projeto.

Outro recurso acrescentado na ultima edição são os "Views". Possui também muitas capacidades que agregadas podem aumentar a capacidade, porém deve-se escolher o tipo de tabela utilizada.
Na documentação diz que uma Tablespace para tabelas do tipo InnoDB pode ter até 64TB.


O MySQL possui tabelas transacionais (innoDB) e não transacionais (MyISAM)... ok, o que é isto. Uma tabela transacional é uma tabela mais lenta e muito mais segura. Por exemplo em uma transação bancária se faltar eletricidade na transição de valores da conta x para a y... o MySQL (innoDB) após ser ativado novamente retornará o dinheiro para x ou y, não perderá tal quantia. Diferente de uma tabela do tipo MyISAM... Onde bye bye money.

sexta-feira, 2 de outubro de 2009

Desenho 2D em Java - A classe Basic Stroke

A CLASSE BASICSTROKE.

A classe de BasicStroke define um jogo básico de atributos para os esboços dos gráficos primitivos, os mesmos tem um rendimento com ao de um objeto de Graphics2D, onde tem seu atributo do curso ajustado ao BasicStroke.
Os atributos definidos por BasicStroke descrevem a forma da marca feita por uma pena extraída ao longo do esboço de uma forma e das decorações aplicadas nas extremidades e juntam-na de segmentos do trajeto da forma, incluindo a largura, onde a largura da pena, é perpendicular a sua medida.
Classes Principais do BasicStroke são:

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel

Image

A classe Image define uma imagem gráfica simples, genérica e bidimensional. A classe Graphics (usada pelo método paint) pode desenhar imagens com o método drawImage :
Image minhaImagem;
minhaImagem = createImage(50, 50);
g.drawImage(minhaImagem, 0, 0, this);
O método drawImage recebe quatro parâmetros - a imagem, as coordenadas x e y e a referência para ela mesma através da variável especial (this). Os formatos de gravura suportados pelos browsers, os mais comuns são os que possuem extensão GIF (Graphics Interchange Format) e o Joint Photographic Experts Group (JPEG). Essas imagens podem demorar um tempo para serem descarregadas.

import java.applet.*;
import java.awt.*;
public class draw_image extends Applet {
Image img;
public void init() {
img = getImage(getCodeBase(), "cow.gif");
}
public void paint(Graphics g) {
g.drawImage(img, 0, 0, this); } }
// Adiciona imagens
Formas, fontes e cores
Os recursos gráficos como formas, fontes e cores são utilizados a partir da classe java.awt, que proporciona o melhor acabamento visual da linguagem Java.
A maioria das operações básicas de desenho é composta de métodos definidos na classe Graphics. Não é necessário criar um objeto "Graphics" para desenhar algo, basta lembrar que um dos argumentos do método paint() é um objeto Graphics, como é demonstrado logo abaixo no exemplo que vai nos acompanhar por todo esse capítulo, demonstrando todo o processo de criação de um mapa da Flórida:

import java.awt.Graphics;
import java.awt.Polygon;
public class Map extends java.applet.Applet {
public void paint(Graphics screen) {
screen.drawString("Florida", 185, 75);
. . . . . . .} }

Esse applet usa o método drawString() do objeto screen para desenhar o string "Flórida" nas coordenadas 185,75. Assim como acontece com drawString(), todos os métodos de desenho possuem argumentos que indicam coordenadas x, y. Alguns exigem mais do que um conjunto de coordenadas, como uma linha que possui uma coordenada x, y para identificar seu ponto inicial e outra para seu ponto final. Lembrando que todos os valores em pixel são inteiros, não podendo ser usados números decimais para apresentar algo entre os valores inteiros.

Linhas

O método drawLine() é usado para desenhar uma linha entre dois pontos. O método recebe quatro argumentos: as coordenadas x e y do ponto inicial e as coordenadas x e y do ponto final. A espessura da linha fica fixa em 1 pixel. Será inserida a seguinte linha no código do Map:

screen.drawLine(185, 80, 222, 80);

Retângulos

Para desenhar um retângulo normal, use o método drawRect para os contornos e o método fillRect para as figuras preenchidas. Esses métodos recebem os seguintes argumentos - coordenadas x e y do canto superior esquerdo do retângulo, a largura e a altura do retângulo. Insira a seguinte instrução no applet:

screen.drawRect(2, 2, 345, 345);

Os retângulos cm cantos arredondados exigem os métodos drawRoundRect() e fillRoundRect() que recebem os quatro primeiros argumentos que os normais, com dois argumentos incluídos no final que definem a largura e a altura da área onde os cantos são arredondados, insira a seguinte instrução no applet:

screen.drawRoundRect(182, 61, 43, 24, 10, 8);

Polígonos

Podem ser desenhados com os métodos drawPolygon() e fillPolygon(), onde são necessárias as coordenadas x, y de cada ponto. São considerados como uma série de linhas unidas, onde ficam declarados o início e o fim de cada uma. Adicione as seguintes instruções ao método paint() do applet Map para ver os polígonos em ação :

int x[] = { 10, 234, 253, 261, 344, 336, 295, 259, 205, 211,
195, 191, 120, 94, 81, 12, 10 };
int y[] = { 12, 15, 25, 71, 209, 278, 310, 274, 188, 171, 174,
118, 56, 68, 49, 37, 12 };
int pts = x.length;
Polygon poly = new Polygon(x, y, pts);
screen.drawPolygon(poly);

Elipses

Essa forma segue a mesma novela das formas anteriores, possui os métodos drawOval() e fillOval() usados para desenhar círculos e elipses, possuem os quatro argumentos que definem as coordenadas x e y, a largura e a altura. Inclua as seguintes instruções para o applet:

screen.fillOval(235,140,15,15);
screen.fillOval(225,130,15,15);
screen.fillOval(245,130,15,15);
Exemplo - Formato de uma carinha através dos círculos preenchidos

Arcos

De todas as formas de desenho, os arcos são os mais complexos de se construir, possuindo seis argumentos - as coordenadas x e y, a largura e a altura da elipse, o ângulo em que se deve iniciar o arco e o número de graus percorrido pelo arco. Verifique a sintaxe para esses métodos através do código completo do programa Map.java :

import java.awt.Graphics;
import java.awt.Polygon;
public class Map extends java.applet.Applet {
public void paint(Graphics screen) {
screen.drawString("Florida", 185, 75);
screen.drawLine(185,80,222,80); //linha
screen.drawRect(2, 2, 345, 345);//retângulo
screen.drawRoundRect(182,61,43,24,10,8);//retangulo arredondado
int x[] = { 10, 234, 253, 261, 344, 336, 295, 259, 205, 211,
195, 191, 120, 94, 81, 12, 10 };
int y[] = { 12, 15, 25, 71, 209, 278, 310, 274, 188, 171, 174,
118, 56, 68, 49, 37, 12 };
int pts = x.length;
Polygon poly = new Polygon(x, y, pts);
screen.drawPolygon(poly);
screen.fillOval(235,140,15,15);//círculo preenchido
screen.fillOval(225,130,15,15);
screen.fillOval(245,130,15,15);
for (int ax = 50; ax < 150; ax += 10)
for (int ay = 120; ay < 320 ; ay += 10)
screen.drawArc(ax, ay, 10, 10, 0, -180);//Arco
}
}
Exemplo- Utilização das formas através de um mapa

Textos

Os objetos da classe java.awt.Font são usados para se utilizar o método drawString() com diferentes fontes. Os objetos Font representam o nome, o estilo e o tamanho em pontos de uma fonte. Outra classe, FontMetrics, fornece métodos para se determinar o tamanho dos que caracteres que estão sendo apresentados com uma fonte específica, o que pode ser usado para detalhes com formatação e centralização do texto.
Um objeto fonte é criado enviando-se três argumentos para o seu construtor :

Nome - pode ser específico como as fontes internas da linguagem Java: TimesRoman, Helvetica, Courier, Dialog e DialogInput;
Estilo - podem ser definidos como Font.PLAIN, Font.BOLD e Font.ITALIC;
O tamanho em pontos da fonte.
As fontes apresentam, portanto, a seguinte sintaxe :
Font f = new Font("Dialog", Font.ITALIC, 36);
Depois é só definir a fonte atual através do método setFont() que segue a sintaxe:
screen.setFont(f);
O applet SoLong apresenta um string no centro da janela Applet, usando FontMetrics para medir a largura do string com a fonte atual

import java.awt.Font;
import java.awt.Graphics;
import java.awt.FontMetrics;
public class SoLong extends java.applet.Applet {
public void paint(Graphics screen) {
Font f = new Font("Courier", Font.BOLD, 18);
FontMetrics fm = getFontMetrics(f);
screen.setFont(f);
String s = "So long, and thanks for all the fish.";
int x = (size().width - fm.stringWidth(s)) / 2;
int y = size().height / 2;
screen.drawString(s, x, y);
}
}

Utilização das fontes através do applet SoLong

O método size() pode não estar compatível com a versão 1.2, se durante a compilação ou execução do programa houver alguma rejeição referente a esse método, basta substituí-lo pelo método getSize().
Cores
As classes Color e ColorSpace do pacote java.awt pode ser usadas para tornar seus applets e aplicativos mais coloridos. Com essas classes, podem ser definidas a cor atual e ser usada nas operações de desenho, bem como a cor de fundo de um applet e de outras janelas. Também podem ser convertidas uma cor de um sistema de descrição de cores para outro.
Por definição, Java usa cores de acordo com um sistema de definição de cores chamado RGB ( essas letras provém das palavras Red, Green e Blue). Cada um dos três componentes pode ser representado por um inteiro de 0 a 255. Como será visto posteriormente no quadro de cores.
A cor atual do desenho é designada pelo método setColor() da classe Graphics. Uma forma de definir a cor é usando uma das cores padrão disponíveis, como as variáveis de classe na classe Color que apresentam os seguintes parâmetros :

black(0,0,0)
blue(0,0,255)
cyan(0,255,255)
darkGray(64,64,64)
orange(255,200,0)
pink(255,175,175)
gray(128,128,128)
red(255,0,0)
green(0,255,00)
white(255,255,255)
yellow(255,255,0)
lightGray(192,192,192)
Tabela -- Cores para applets

A instrução a seguir define a cor atual do objeto screen usando as variáveis de classe padrão:
screen.setColor(Color.orange);
Para criar um objeto cor com definições próprias, deve ser introduzido um código semelhante a esse:
Color novacor = new Color(255,204,102);
screen.setColor(novacor);

O método setBackground() define a cor de fundo de uma janela e o método setForeground() altera a cor de um componente de interface como um botão ou uma janela. Esses métodos recebem como argumento o objeto cor.
setBackground(Color.blue);

Ex:
import java.awt.*;
import java.awt.event.*;
public class janelaDesenho2 extends Frame {
private final int startPos = 50;
private int incremento = 15;
private int tamanho = 40;
class WindowHandler extends WindowAdapter {
public void windowClosing(WindowEvent we) {
dispose();
System.exit(0);
}
}
public janelaDesenho2() {
setTitle("Janela e desenho 2");
setSize(320,200);
addWindowListener(new WindowHandler());
}
public void paint(Graphics g) {
int x=startPos;
int y=startPos;
Dimension d = getSize();
int finalPos = Math.min(d.width, d.height)-tamanho;
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new
BasicStroke(10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
g2.drawString("Desenhando...", 10, 40);
while (x < finalPos) {
g2.setColor(new Color((float)Math.random(),
(float)Math.random(),
(float)Math.random()));
g2.drawRect(x, y, tamanho, tamanho);
x += incremento;
y += incremento;
}
g2.setFont(g.getFont().deriveFont(Font.BOLD));
g2.setColor(Color.red);
g2.drawString("...pronto!", 100, 40);
}
public static void main(String[] args) {
janelaDesenho2 j = new janelaDesenho2();
j.setVisible(true);
}
}

import java.awt.*;
import java.awt.event.*;
public class janelaDesenho2 extends Frame {
private final int startPos = 50;
private int incremento = 15;
private int tamanho = 40;
class WindowHandler extends WindowAdapter {
public void windowClosing(WindowEvent we) {
dispose();
System.exit(0);
}
}
public janelaDesenho2() {
setTitle("Janela e desenho 2");
setSize(320,200);
addWindowListener(new WindowHandler());
}
public void paint(Graphics g) {
int x=startPos;
int y=startPos;

Dimension d = getSize();
int finalPos = Math.min(d.width, d.height)-tamanho;
Graphics2D g2 = (Graphics2D) g;

g2.setStroke(new
BasicStroke(10.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
g2.drawString("Desenhando...", 10, 40);
while (x < finalPos) {
g2.setColor(new Color((float)Math.random(),
(float)Math.random(),
(float)Math.random()));
g2.drawRect(x, y, tamanho, tamanho);
x += incremento;
y += incremento;
}
g2.setFont(g.getFont().deriveFont(Font.BOLD));
g2.setColor(Color.red);
g2.drawString("...pronto!", 100, 40);
}
public static void main(String[] args) {
janelaDesenho2 j = new janelaDesenho2();
j.setVisible(true);
}
}