Puppet Warp: Esta ferramenta funciona como se fosse um “mapeamento”, você inseri pontos em sua foto ou personagem e poderá mudar a posição destes pontos. Por exemplo, você tem um personagem, você pode adicionar pontos em seu braço e move-los para levantar ou abaixar o braço.
quarta-feira, 6 de abril de 2011
Movimente como quiser com Puppet Warp
Transformando foto em ilustração
Dificuldade: Nivel 3/5
01. Pressione Ctrl+O e abra uma imagem qualquer, neste tutorial usaremos a imagem abaixo.
02. Vá em Layer> New Fill Color> Solid Color, presione Ok e escolha a cor branca, vá em Layer> Hide Layers, pressione Ctrl+Shift+N para criar uma nova layer, dê o nome de Basic Shapes e pressione Ok, vá em Layer> Hide Layers, clique na layer Background (que contém a foto usada) e pressione a letra P do teclado para selecionar a Pen Tool, crie algum traços para definir a forma da pessoa na foto (caso não saiba como usar a Pen Tool clique aqui), crie alguns traços como nas fotos abaixo.
03. Agora clique na layer Basic Shapes e vá em Layer> Show Layers, clique na Fill Layer e vá em Layer> Show Layers para ativar a visualização de ambas as layers, clique na layer Basic Shapes, agora pressione a letra B do teclado para selecionar a Brush Tool, selecione um brush qualquer, vá em Window> Brushes, clique em Brush Tip Shape e defina o valor de 12% para Roundness, 45º para Angle, agora clique em Shape Dynamics e defina o valor de 100% para Size Jitter, 35% para Minimum Diameter e 5% para Angle Jitter e feche a janela de Brushes, pressione a letra D do teclado para resetar as cores de Foreground e Background para preto e branco, pressione a letra A do teclado clique para selecionar a Direct Selection Tool com o botão direto do mouse sobre um dos traços criados com a Pen Tool e escolha a opção Stroke Path, na caixa que irá abrir clique na opção Simulate Pressure e escolha a opção Brush no menu dropdown e pressione Ok, caso seu traço fique muito fino ou muito grosso pressione Ctrl+Z para desfazer a ação, pressione a letra B do teclado para selecionar a Brush Tool e defina outro tamanho para seu Brush.
04. Repita os passos 02 e 03 algumas vezes até completar todos os detalhes de sua ilustração.
05. Clique na layer Background e pressione Ctrl+J para duplicar a layer, coloque a cópia da layer no topo da paleta de layers (acima da layer Basic Shapes), mude o modo de blend da layer para Color, pressione a letra B do teclado para selecionar a Brush Tool, vá em Window> Brushes, clique em Brush Tip Shapee defina o valor de Angle em -45°, desabilite a opção Shape Dynamics, feche a janela de Brushes, clique na Fill Layer e pressione Ctrl+Shift+N para criar uma nova layer e dê o nome de Paint, pressione Ok, pressione a letra D do teclado para resetar as cores de Foreground e Background para preto e branco, defina o valor de 10% para a opacidade do Brush na barra de opções da ferramenta no alto da tela, vá passando o Brush nas áreas onde deseja colorir, sua imagem deve ficar como a da foto abaixo.
06. Caso precise apagar alguma parte que saiu errada a melhor maneira é pressionando a letra E do teclado para selecionar a Eraser Tool, indo emWindow> Brushes e definindo os mesmos valores que foram usados na Brush Tool, defina a opacidade do Brush em 50% na barra de opções da ferramenta e aplique nas partes que devem ser apagadas, para modificar as cores das peças de roupa clique na layer que estiver no topo da paleta de layers e vá em Layer> New Adjustment Layer> Hue/Saturation, arraste o slider de Hue até chegar na cor desejada, ajuste o slider de Saturation, clique no ícone da máscara que existe ao lado da Adjustment Layer e pressione Ctrl+I para inverter, pressione a letra E do teclado para selecionar a Eraser Tool, certifique-se de que a opacidade da layer esteja em 100% na barra de opções da ferramenta, pressione a letra D do teclado para resetar as cores de Foreground e Background para preto e branco e passe a Eraser Tool nas áreas onde deseja mudar a cor da roupa.
07. Use a mesma técnica até modificar tudo que deseja na imagem.
08. Clique na layer Paint e pressione Ctrl+Shift+N para criar uma nova layer, dê o nome de bkg paint e pressione Ok, pressione a letra B do teclado para selecionar a Brush Tool, defina um tamanho grande para o Brush com opacidade em 5% e passe no Background da ilustração, ao final sua imagem estará como a da foto abaixo.
Tutorial Original: http://psdtuts.com/photo-effects-tutorials/create-an-illustrated-look-from-a-photograph/
Tradução: Tutoriais Photoshop
terça-feira, 5 de abril de 2011
Envio de e-mail pelo Oracle
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Seg Abr 5 08:46:19 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Conectado a:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SYS@XE> create user scott identified by tiger default tablespace users;
Usuário criado.
SYS@XE> grant connect,resource to scott;
Concessão bem-sucedida.
SYS@XE> grant execute on UTL_SMTP to scott;
Concessão bem-sucedida.
SYS@XE> connect scott/tiger
Conectado.
SCOTT@XE> Declare
2 SendorAddress varchar2(30) := 'DBA@Server.com';
3 ReceiverAddress varchar2(30) := 'legatti@intra.rps.com.br ';
4 EmailServer varchar2(30) := '192.168.1.10';
5 Port number := 25;
6 conn UTL_SMTP.CONNECTION;
7 crlf VARCHAR2(2):= CHR(13) || CHR(10);
8 mesg VARCHAR2(4000);
9 BEGIN
10 conn:= utl_smtp.open_connection(EmailServer,Por t);
11 utl_smtp.helo(conn,EmailServer);
12 utl_smtp.mail(conn,SendorAddress);
13 utl_smtp.rcpt(conn,ReceiverAddress);
14 mesg:=
15 'From:'||SendorAddress|| crlf ||
16 'Subject: Teste de e-mail enviado pelo Servidor Oracle' || crlf ||
17 'To: '||ReceiverAddress || crlf ||
18 '' || crlf ||
19 'Este e-mail foi enviado pelo servidor de banco de dados Oracle';
20 utl_smtp.data(conn,mesg);
21 utl_smtp.quit(conn);
22 END;
23 /
Procedimento PL/SQL concluído com sucesso.

SCOTT@XE> create or replace procedure send_email (subject varchar, message varchar) as
2 BEGIN
3 Declare
4 SendorAddress varchar2(30) := 'DBA@Server.com';
5 ReceiverAddress varchar2(30) := 'legatti@intra.rps.com.br ';
6 EmailServer varchar2(30) := '192.168.1.10';
7 Port number := 25;
8 conn UTL_SMTP.CONNECTION;
9 crlf VARCHAR2(2):= CHR(13) || CHR(10);
10 mesg VARCHAR2(4000);
11 BEGIN
12 conn:= utl_smtp.open_connection(EmailServer,Por t);
13 utl_smtp.helo(conn,EmailServer);
14 utl_smtp.mail(conn,SendorAddress);
15 utl_smtp.rcpt(conn,ReceiverAddress);
16 mesg:=
17 'From:'||SendorAddress|| crlf ||
18 'Subject: '||subject|| crlf ||
19 'To: '||ReceiverAddress || crlf ||
20 '' || crlf || message;
21 utl_smtp.data(conn,mesg);
22 utl_smtp.quit(conn);
23 END;
24 END;
25 /
Procedimento criado.
SCOTT@XE> create table teste (id number);
Tabela criada.
SCOTT@XE> create or replace trigger trg_teste_envia_email
2 after delete or insert or update
3 on teste
4 begin
5 if (inserting) then
6 send_email('INSERT realizado na tabela TESTE',
7 'O usuario '||user||' inseriu registros na tabela TESTE');
8 elsif (deleting) then
9 send_email('DELETE realizado na tabela TESTE',
10 'O usuario '||user||' deletou registros da tabela TESTE');
11 elsif (updating) then
12 send_email('UPDATE realizado na tabela TESTE',
13 'O usuario '||user||' atualizou registros na tabela TESTE');
14 end if;
15 end;
16 /
Gatilho criado.
SCOTT@XE> insert into teste values (1);
insert into teste values (1)
*
ERRO na linha 1:
ORA-29278: erro transiente de SMTP: 421 Service not available
ORA-06512: em "SYS.UTL_SMTP", line 21
ORA-06512: em "SYS.UTL_SMTP", line 97
ORA-06512: em "SYS.UTL_SMTP", line 139
ORA-06512: em "SCOTT.SEND_EMAIL", line 13
ORA-06512: em "SCOTT.TRG_ENVIA_EMAIL", line 3
ORA-04088: erro durante a execução do gatilho 'SCOTT.TRG_ENVIA_EMAIL'
SCOTT@XE> select * from teste;
não há linhas selecionadas
SOCOTT@XE> insert into teste values (1);
1 linha criada.
SOCOTT@XE> delete from teste;
1 linha deletada.
SOCOTT@XE> commit;
Commit concluído.

C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Seg Abr 5 08:55:40 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Conectado a:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SYS@XE> @C:\oraclexe\app\oracle\product\10.2.0\s erver\RDBMS\ADMIN\ut lmail.sql;
Pacote criado.
Sinônimo criado.
SYS@XE> @C:\oraclexe\app\oracle\product\10.2.0\s erver\RDBMS\ADMIN\pr vtmail.plb;
Corpo de Pacote criado.
Não há erros.
SYS@XE> alter system set smtp_out_server = '192.168.1.10:25' scope=both;
Sistema alterado.
SYS@XE> BEGIN
2 UTL_MAIL.send(sender => 'DBA@Server.com',
3 recipients => 'legatti@intra.rps.com.br ',
4 cc => 'syschangeoninstall@gmail.com ',
5 subject => 'Teste de envio de e-mail pelo UTL_MAIL',
6 message => 'O servidor Oracle me enviou este e-mail utilizando o pacote UTL_MAIL');
7 END;
8 /
Procedimento PL/SQL concluído com sucesso.
ERRO na linha 1:
ORA-24247: acesso à rede negado pela ACL (access control list)
ORA-06512: em "SYS.UTL_TCP", line 17
ORA-06512: em "SYS.UTL_TCP", line 246
ORA-06512: em "SYS.UTL_SMTP", line 115
ORA-06512: em "SYS.UTL_SMTP", line 138
ORA-06512: em line 11
C:\>sqlplus sys/******* as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Seg Abr 5 08:56:38 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Conectado a:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@ORACLE11> begin
2 dbms_network_acl_admin.create_acl (
3 acl => 'utl_mail.xml',
4 description => 'Permite enviar e-mail',
5 principal => 'SCOTT',
6 is_grant => TRUE,
7 privilege => 'connect'
8 );
9 commit;
10 end;
11 /
Procedimento PL/SQL concluído com sucesso.
SYS@ORACLE11> begin
2 dbms_network_acl_admin.add_privilege (
3 acl => 'utl_mail.xml',
4 principal => 'SCOTT',
5 is_grant => TRUE,
6 privilege => 'resolve'
7 );
8 commit;
9 end;
10 /
Procedimento PL/SQL concluído com sucesso.
SYS@ORACLE11> begin
2 dbms_network_acl_admin.assign_acl(
3 acl => 'utl_mail.xml',
4 host => '192.168.1.10'
5 );
6 commit;
7 end;
8 /
Procedimento PL/SQL concluído com sucesso.
