Ir para conteúdo
  • Cadastre-se

[Tutorial] Mudando a cabeça de alguem em uma foto


Posts Recomendados

Fala galera do Tibia King beleza ? Hoje venho com outro tutorial de como alterar a cabeça de alguém no photoshop CS5.

fdrule_SEPARADOR_DE_TEXTO.gif

Tutorial

01. Pressione Ctrl+O e abra uma foto onde vamos substituir o rosto, escolha uma foto que de preferência seja grande, tenha uma iluminação e posição do rosto próximos da foto que será usada para a montagem, neste tutorial iremos usar a imagem abaixo.

imagem1.jpg

02. Pressione a letra P do teclado para selecionar a Pen Tool (ou outra ferramenta de seleção)e faça uma seleção ao redor do boné (se não souber utilizar a Pen Tool clique aqui), com o boné selecionado clique dentro do Path e escolha a opção Make Selection, caso esteja usando outra foto onde a pessoa não possui chapéu ou boné pule este passo.

imagem4.jpg

03. Na caixa de confirmação clique em Ok.

imagem5.jpg

04. O boné será selecionado como na foto abaixo.

imagem6.jpg

05. Pressione Ctrl+J para criar um cópia do boné em outra layer, sua paleta de layers deverá ficar como na foto abaixo.

imagem7.jpg

06. Pressione Ctrl+O e abra a imagem do rosto que queira usar, neste tutorial iremos usar a a imagem abaixo.

imagem8.jpg

07. Pressione a letra P do teclado para selecionar a Pen Tool (ou outra ferramenta de seleção), e crie uma seleção em volta da cabeça da pessoa na foto (caso não saiba como usar a Pen Tool clique aqui), clique dentro do Path criado com o botão direito do mouse e escolha a opção Make Selection, na caixa que irá abrir clique em Ok, sua seleção será carregada, pressione Ctrl+C para copiar o conteúdo da seleção.

imagem9.jpg

08. Volte na outra foto que estavamos trabalhando anteriormente e pressione Ctrl+V para colar a cabeça que acabou de ser copiada, sua imagem deverá ficar como a foto abaixo.

imagem10.jpg

09. Pressione a letra V do teclado para selecionar a Move Tool e mova a cabeça para o local correto na foto.

imagem11.jpg

10. É quase certo que a proporção das cabeças não sejam parecidas, para acertar isso pressione Ctrl+T para abrir a caixa de Free Transform.

imagem12.jpg

11. Na barra de opções da ferramenta clique no ícone de Maintain Aspect Ratio para que a proporção original da imagem seja mantida.

imagem13.jpg

12. Agora diminua a largura da cabeça em 65% isto irá modificar a altura automaticamente, aqui você terá que experimentar valores até chegar ao tamanho certo da foto base.

imagem14.jpg

13. Deixe as duas cabeças com o mesmo tamanho.

imagem15.jpg

14. Agora clique com o botão direito do mouse dentro da caixa de Free Transform e escolha a opção Flip Horizontal para rotacionar a cabeça horizontalmente.

imagem16.jpg

15. Sua imagem ficará assim.

imagem17.jpg

16. Clique em um dos pontos da diagonal da caixa de Free Transform e rotacione levemente a cabeça para que ela fique na mesma posição da outra cabeça.

imagem18.jpg

17. Agora clique dentro da caixa de Free Transform e posicione a cabeça no lugar correto, sua image deverá ficar como a da foto abaixo.

imagem19.jpg

18. A cabeça deverá estar acima do boné pois a layer em que ela está ficou acima da layer do boné, então na paleta de layers, clique na layer da cabeça e arraste para baixo da layer do boné como na imagem abaixo.

imagem20.jpg

19. Diminua um pouco a opacidade da layer da cabeça.

imagem21.jpg

20. Defina uma opacidade que permita que você veja as duas cabeças, alinhe as duas pelos olhos.

imagem22.jpg

21. Posicione novamente as cabeças e pressione Enter.

imagem23.jpg

22. Defina a opacidade da layer em 100%.

imagem24.jpg

23. Sua imagem deverá estar assim.

imagem25.jpg

24. Pressione a letra E do teclado para selecionar a Eraser Tool e clique na layer da cabeça caso ela não esteja selecionada.

imagem26.jpg

25. Passe a Eraser Tool em toda a parte que está sobrando além do boné (o cabelo da foto usada), faça o mesmo na área do pescoço, uma boa dica é diminuir um pouco a opacidade da layer para saber que áreas podem ser apagadas e quais não podem.

imagem27.jpg

26. Sua imagem deverá ficar assim.

imagem28.jpg

27. Agora clique na layer Background que contém a foto original (do Egípcio com o camelo) pois precisamos arrumar algumas áreas atrás da cabeça que foi aplicada que ainda mostram a cabeça da foto original.

imagem29.jpg

28. Pressione a letra S do teclado para selecionar a Clone Stamp Tool (caso não saiba como usar a Clone Stamp Tool clique aqui).

imagem30.jpg

29. Clique no background da imagem com a tecla Alt pressionada para copiar o local e depois vá na parte onde queremos eliminar e clique para ir clonando, faça isto até eliminar todas as áreas em que a cabeça original aparece.

imagem31.jpg

30. Sua imagem deverá ficar como a da foto abaixo.

imagem32.jpg

31. Faça o mesmo procedimento com as áreas da roupa próximas ao pescoço.

imagem33.jpg

32. Deixe a imagem assim.

imagem34.jpg

33. A montagem está quase pronta, porém a cor do rosto não bate com a cor das mãos.

imagem35.jpg

34. Clique na layer da cabeça e pressione Ctrl+U para abrir a caixa de Hue/Saturation, não marque a opção Colorize, defina os valores abaixo, porém caso use outra foto vá olhando até achar o ponto certo de onde os sliders devem ficar.

imagem36.jpg

25. Vá movendo os sliders até achar o tom certo de pele como na foto abaixo.

imagem37.jpg

26. Para criar a sombra abaixo da aba do boné pressione a letra O do teclado para selecionar a Burn Tool, e defina os seguintes valores na barra de opções da ferramenta.

imagem38.jpg

27. Certifique-se de que a layer da cabeça esteja selecionada e vá desenhando a área da sombra como na foto abaixo.

imagem39.jpg

28. Ao final sua foto estará assim.

imagem40.jpg

fdrule_SEPARADOR_DE_TEXTO.gif

Creditos:

MatheusVidaLoka

PhotoPro

fdrule_SEPARADOR_DE_TEXTO.gif

Editado por MatheusVidaLoka (veja o histórico de edições)

Ajudei? Reputar Cai o dedo? Acho que não

fdrule_SEPARADOR_DE_TEXTO.gif

Mapper : 80%

Scripter : 40%

Client Maker : 100%

Spriter : 100%

Web Designer : Aprendendo

fdrule_SEPARADOR_DE_TEXTO.gif

Meus Mapas :

sign3zb.jpg

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Underewar
      Tutorial: Criando um Sistema de Enviar efeito com OTClient.


       
      Neste tutorial, vamos criar um sistema simples de Enviar efeito no OTClient.
      Este sistema permitirá que os jogadores ativem um efeito especial e vejam uma janela ao clicar em um botão específico.
      Pré-requisitos:
      Ambiente de Desenvolvimento:
      Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart. Conhecimento Básico em Lua:
      Familiaridade com a linguagem de script Lua.
       
      Passo 1: Estrutura do projeto
       
      Organize seu projeto conforme abaixo:

      OTC / MODS



      Passo 2: Criando a Interface Gráfica (OTUI)

      game_pass.otui
      Repare que em nossa interface nossos botões de ação entram no caminho do module e iniciam uma função que esta disponivel em nosso game_pass.lua (Client-Side)

       



      Passo 3: Criando funções Client-Side

      Agora com as funções criada podemos chamar elas de acordo com a necessidade em nosso arquivo de interface.
      Por exemplo a função effect() que foi chamada em nosso arquivo de interface.otui agora é criada aqui para mostrar o efeito ao jogador.

      game_pass.lua
       
       
      Passo 4: Registrando o novo Mod

      Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração

      game_pass.otmod
       

      Feito isso ja podemos ver nosso module no client e enviar opcodes através do gameprotocol e também receber o buffer para manipular os dados podemos utilizar :
      protocolGame:sendExtendedOpcode(14, "1")
      Basicamente oque estamos fazendo é armazenando o valor 1 na variaval 14 do ExtendedOpcode e futuramente podemos recuperar esse valor.

      Recuperamos esse valor em nosso server side data/creatuerscript/otc/game_pass.lua

      Verificando se o opcode é 14 se for 14 então fazemos x ação.

      Show, tendo isso em mente para que o nosso client-side consiga receber com sucesso o efeito enviado ao jogador então utilizamos 

      Passo 5: Criando o Server-side responsavel por enviar o efeito correto ao jogador dependendo do opcode selecionado no nosso cliente.

      data/creaturescripts/otc/game_pass.lua
       
      Passo 6: Registrando o evento para evitar erros futuros!
      Para que tudo funcione corretamente sem erros é  necessário registrar o evento no creaturescript.xml / login.lua

      creaturescript.xml
      <event type="extendedopcode" name="GamePass" script="otc/game_pass.lua" />
      login.lua
          player:registerEvent("GamePass")  


      Ótimo agora ao selecionar o menu recompensa o jogador recebera um efeito.

      Espero que tenha ficado claro como usar Opcodes/ExetendedOpcodes.

      Arquivos usados no tutorrial:
      OTC MODULE
      game_pass.rar
      Creaturescript
      game_pass.lua

      Vi muitos tutoriais desatualizado então resolvi trazer esse!
      Reparem que nesse caso passamos creature como parametro do buffer isso porque precisamos enviar um efeito no player.

      Melhorando a formatação com JSON Encoder

       
       
    • Por Mateus Robeerto
      este é um tutorial de como usar um cliente com spr/dat estendido e protegido pelo CAB.
       
      fiz um video mostrando como usar um client com spr/dat estendido sem o error, basta seguir passo a passo o que eu fiz, em resumo voce precisara copiar seu dat estendido pra outro local para poder editar ele, salvando ele como não estendido e dps renomeando para poder usar junto com o original e compilando tudo com o programa cab...
       
      A DLL ajuda o cliente a ler as 2 dat (compilada pelo programa cab) , sem ela o cliente não abre, caso o teu cliente tenha o bug do ctrl+n ou alguns outros bugs que eu vi em alguns casos, a DLL tem a função de arrumar a maioria deles.
       
       
       
       
       
      LINK DOWNLOAD
       
       
      https://www.mediafire.com/file/kxqkywxeijk8hn2/programa_para_oldclient.rar/file
      ou
      creator cab
      https://drive.google.com/file/d/19b-EqpS-RmOQ_1o7ubb2a7j6RKcijjUa/view?usp=sharing
      scan https://www.virustotal.com/gui/file/4398e414d680ac26addbedc1f20bd59a82b546a1633abbb02b13d2f7150e950e/detection
      DLL
      https://drive.google.com/file/d/1T8XgwgHJAO9sgw5WR809GjMfej2NvP3n/view?usp=sharing
      SCAN https://www.virustotal.com/gui/file/539f0f7187c668457a14d87603e075ab5d1b6f6ac6a17aabf2b591fc3c177741/detection
       stup-pe hoohar o client
      https://drive.google.com/file/d/1cwR1wj3M8IsvxmIt5pQhZ4-DlFSMQVal/view?usp=sharing
      scan https://www.virustotal.com/gui/file/d06889d61474ee9480947956e52916fb997a3717e9f59d3ed830b5c780e81340/detection
       
       
       
    • Por oclipper
      Nesse video eu ensino como encontrar os Address e Offsets basicos para OTClient, eu usei meu bot como exemplo, com essses dados voce pode atualizar e conseguir utilizar bastantes funçoes do bot (heal, mana train, auto utamo/hur, etc)

      tipos de variaveis pra cada offset:
      name = string
      hp = double
      mana = double
      light = 1 byte
      color = 1 byte
      flags = 4 byte
      speed = 4 byte
      pos x = 4 byte
      pos y = 4 byte
      pos z = 1 byte
      id = 4 byte 
      hp% = 1 byte
      direcao = 4 byte
      skull = 1 byte
    • Por EddyHavoc
      Resumo
      A maneira atual para implementar Modal Window é um pouco complicada. Atualmente precisamos cria-la em algum lugar, registrar o evento, adicionar os botões em uma ordem específica, definir o ID da janela, dos botões e da escolha. Isso não é o ideal, então esta biblioteca foi criada pelo Non Sequitur para ajudar nisso. E eu estou trazendo para a OtServBrasil.

      Exemplo/ Tutorial Usando Modal Window
       
      Instalando
      Adicionar em data/lib/lib.lua dofile('data/lib/modalwindow.lua') Crie o arquivo modalwindow.lua com o seguinte conteúdo em data/lib if not modalWindows then modalWindows = { modalWindowConstructor = ModalWindow, nextFreeId = 500, windows = {} } end local MT = {} MT.__index = MT function ModalWindow(...) local args = {...} if type(args[1]) == 'table' then local self = setmetatable(args[1], MT) local id = modalWindows.nextFreeId self.id = id self.buttons = {} self.choices = {} self.players = {} self.created = false modalWindows.nextFreeId = id + 1 table.insert(modalWindows.windows, self) return self end return modalWindows.modalWindowConstructor(...) end function MT:setDefaultCallback(callback) self.defaultCallback = callback end function MT:addButton(text, callback) local button = {text = tostring(text), callback = callback} table.insert(self.buttons, button) return button end function MT:addButtons(...) for _, text in ipairs({...}) do table.insert(self.buttons, {text = tostring(text)}) end end function MT:addChoice(text) local choice = {text = tostring(text)} table.insert(self.choices, choice) return choice end function MT:addChoices(...) for _, text in ipairs({...}) do table.insert(self.choices, {text = tostring(text)}) end end function MT:setDefaultEnterButton(text) self.defaultEnterButton = text end function MT:setDefaultEscapeButton(text) self.defaultEscapeButton = text end function MT:setTitle(title) self.title = tostring(title) end function MT:setMessage(message) self.message = tostring(message) end local buttonOrder = { [4] = {3, 4, 2, 1}, [3] = {2, 3, 1}, [2] = {1, 2}, [1] = {1} } function MT:create() local modalWindow = modalWindows.modalWindowConstructor(self.id, self.title, self.message) local order = buttonOrder[math.min(#self.buttons, 4)] if order then for _, i in ipairs(order) do local button = self.buttons[i] modalWindow:addButton(i, button.text) button.id = i if button.text == self.defaultEnterButton then modalWindow:setDefaultEnterButton(i) elseif button.text == self.defaultEscapeButton then modalWindow:setDefaultEscapeButton(i) end end end for _, choice in ipairs(self.choices) do modalWindow:addChoice(_, choice.text) choice.id = _ end self.modalWindow = modalWindow end function MT:sendToPlayer(player) if not self.modalWindow then self:create() end player:registerEvent('ModalWindowHelper') self.players[player:getId()] = true return self.modalWindow:sendToPlayer(player) end Adicionar em data/creaturescripts/craturescripts.xml <event type="modalwindow" name="ModalWindowHelper" script="modalwindowhelper.lua" /> Crie o arquivo modalwindowhelper.lua com o seguinte conteúdo em data/creaturescripts/scripts/ function onModalWindow(player, modalWindowId, buttonId, choiceId) local modalWindow for _, window in ipairs(modalWindows.windows) do if window.id == modalWindowId then modalWindow = window break end end if not modalWindow then return true end local playerId = player:getId() if not modalWindow.players[playerId] then return true end modalWindow.players[playerId] = nil local choice = modalWindow.choices[choiceId] for _, button in ipairs(modalWindow.buttons) do if button.id == buttonId then local callback = button.callback or modalWindow.defaultCallback if callback then callback(button, choice) break end end end return true end  
      Pronto!
       
      Espero que gostem. Posteriormente irei postar um tutorial de como usar/ aplicar e alguns scripts utilizando a Biblioteca.
    • Por Endless
      Olá meus senhores, hoje venho trazer pra vocês 1 tutorial que li a muito tempo atrás e me ajudou muito. O tutorial não é meu, mas vejo que muita gente, muita gente mesmo não conhece esse módulo do apache, então achei válido trazer pra comunidade. Espero que ajude alguém!!
      O módulo que venho apresentar a vocês é o mod_evasive do Apache.
       
      Sobre ele:
       

      Instalando o mod_evasive:

       

      Configurando o mod_evasive:
       

      Carregando o módulo mod_evasive no apache:
       

      Teste da proteção DDoS
       

      Conclusão
       

      Créditos:

      https://sempreupdate.com.br/mod_evasive-no-apache-oferece-protecao-contra-ataque-de-ddos/
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo