sexta-feira, 21 de outubro de 2016

Calculando alturas de fontes

ATENÇÃO:
NAS IMAGENS ABAIXO, ONDE SE LÊ CM (centímetro) LEIA MM (milímetro).

Um dos maiores problemas em relação a tipografia e no design em geral é calcular a altura que uma letra deve ter para ser visível a uma certa distância. Mas há uma fórmula para isto.
Como calcular altura de fontes
No livro “Ergonomia” (Ilda, I. – 1994), a autora informa a técnica de verificação de adequação da altura e proporção de letras e números. A Ilda recomenda a seguinte fórmula para a definição da altura de tipos em relação a distância de visualização das placas.
A fórmula para calcular a altura da fonte.
A fórmula para calcular a altura da fonte em milímetros, onde D é a distância em milímetros

Exemplificando

Vamos supor que você precisa criar uma placa que seja visível a pelo menos 10 metros. Esse valor em milímetros é igual a 10.000, que por sua vez é a nossa distância D. Multiplicando D por 1/200 (ou 0.005), ficamos com o número 50, que é a altura em milímetros da fonte.
Ou seja, para que uma placa seja visível a 10 metros de distância (10.000 mm), a fonte deverá ter altura igual ou maior que 50 mm.
Altura da fonte em relação a distância
Outros exemplos de alturas de fontes de acordo com distância
Outros exemplos de alturas de fontes de acordo com distância

Largura, espessura e distância entre letras

Outro aspecto importante a se levar em conta quando algum tipo de sinalização é criada é a largura da letra, espessura do traço, distância entre duas letras e distância entre as palavras.
Há proporções sugeridas por profissionais de ergonomia que são usadas frequentemente em sinalizações:
Largura, espessura e espaço das fontes
Um exemplo de como essas proporções seriam usadas na vida real é na figura abaixo.
A imagem está desproporcional e é meramente ilustrativa
A imagem está desproporcional e é meramente ilustrativa

Explicando

O H maiúsculo é a altura da fonte maiúscula que conseguimos pelo cálculo “Distância em milímetros vezes 0,005”. O h minúsculo é dois terços daquela altura, a distância entre duas letras é um quinto da altura e assim por diante.
Seguindo as proporções citadas, no nosso exemplo onde a visualização mínima é de 10 metros (sendo que a altura da fonte é de 50 milímetros), o cálculo da largura, espessura e espaçamento ficaria o seguinte:
Como calcular a altura da fonte
A imagem está desproporcional e é meramente ilustrativa

Aplicação no mundo real

Esse cálculo pode ser usado para placas de trânsito, sinais de rua, outdoors, cartazes e qualquer outro ítem gráfico que precisa ser visualizado a uma distância mínima de X metros.
Exemplos de sinalização
© bellemedia - Fotolia.com
Exemplo de cálculo de alturas de letras
© bennnn - Fotolia.com
Exemplo de cálculo
© Anchels - Fotolia.com
Pronto! Agora você já sabe como calcular a altura das fontes para usar no mundo real.
fonte: http://design.blog.br/design-grafico/calculando-as-alturas-de-fontes

segunda-feira, 10 de outubro de 2016

Músicas grátis para youtube - Royalty Free

Resultado de imagem para free music
Acho que essa é uma das grandes dúvidas de quem produz conteúdo para o Youtube.
Como deixar de usar as músicas que o próprio site fornece e poder dar uma cara mais divertida aos vídeos, mas sem violar os termos de uso do YT, para que os vídeos continuem sendo monetizados.
Você precisa utilizar Royalty Free Music.
Ou seja, músicas que estão liberadas para uso no Youtube ou para venda de vídeos.

Assim como nem todas as músicas gratuitas possuem Royalty Free, nem todas com Royalty Free são gratuitas, então tome cuidado quando encontrar uma legal e quiser fazer download dela. E em cada site está geralmente especificado de que forma você pode fazer uso da música. Por exemplo, há alguns que deixam claro que você pode utilizar a música, mas precisa indicar de onde ela veio e há outros que não mostram essa necessidade.Hoje vou dar a dica de dois sites gratuitos com tipos variados de músicas:

Fonte: http://www.keepcalmdiy.com/tips-2/musicas-gratuitas-para-videos-royalty/

Músicas grátis para uso não comercial

Resultado de imagem para free music


  1. Jamendo

    Jamendo é uma comunidade de música online onde os artistas postam suas músicas livres de direitos nos termos de uma licença Creative Commons. Jamendo é gratuito e nem precisa de registro para baixar músicas. Os tópicos estão disponíveis nos formatos MP3 e OGG, e você pode fazer download de qualquer música através de link para o seu endereço de e-mail ou usando redes de intercâmbio P2P. Se você precisar usar a música para fins comerciais, pode fazê-lo tornando-se um membro do plano pro Jamendo, onde paga uma taxa de juro variável para ter acesso irrestrito a todos os circuitos em termos de projeto multimídia.
    http://www.jamendo.com/
  2. Opsound

    Opsound é um serviço de música gratuito, onde você pode fazer o download grátis de músicas sem registro. Todas as músicas apresentadas por artistas independentes são licenciadas sob uma licença Creative Commons e também estão disponíveis para uso comercial. Note-se que o Opsound incentiva fortemente a utilização comercial das faixas no site de acordo com a regulamentação do próprio artista. Os downloads estão disponíveis tanto no formato MP3 como OGG. Não disponibiliza conta pro.
    http://opsound.org/

sábado, 1 de outubro de 2016

Ghost Mouse

Veja como funciona o Ghost Mouse



Photoshop - Texto Costurado

Introduction

Over the years as a graphic designer I’ve accumulated a wealth of custom brushes, shapes and actions that I keep carefully organized and labeled for future use. The brush set I’ll be sharing with you today has been in my collection for probably five of six years and every once in a while I’ll find a good reason to load it into my brushes palette. If you’ve never done that before, don’t worry, I’ll walk you through it as we go.
If you’re playing along at home you should download the brush set before we get started.

sexta-feira, 30 de setembro de 2016

Photoshop - Texto efeito jeans costurado

FONTE: https://design.tutsplus.com/tutorials/create-a-stitched-denim-text-effect-in-photoshop--psd-18116


In this tutorial, we will explain how to combine Photoshop filters, brushes, and vector shapes to create a stitched denim text effect using Photoshop CS6. Let's get started!

domingo, 14 de agosto de 2016

Tutorial - Abrindo configurações avançadas Roteador Coletek W-N2120 Vivo Fibra

       
Como ter toda a configuração do COLETEK W-M2120N com base OPENRG. 
Veja as configurações originais…
Bom vocês necessitaram dos seguinte programa para que possamos baixar os arquivos de configuração do roteador. O software é o TELNET2764.
Feito o DOWNLOAD do arquivo, abra o TELNET. Conforme imagem abaixo;
Por padrão a gateway rede é 192.168.1.1. Altere o endereço de ip pelo GATEWAY do seu roteador. 
Eu poderia aqui, informar como descobrir o GATEWAY. Mas tem um detalhe, caso não tenha esta experiência com rede. Não aconselho continuar tal feito, pois é por sua conta e risco, caso venha danificar seu roteador.
O username é admin e a senha são os quatros últimos alfanumérico do MAC do roteador. Você irá encontrar esta informação no fundo do ROTEADOR ou na caixa onde ele encontrava-se acondicionado.
Clique em GET CONFIG. O TELNET2764 vai trazer as informações do modem. Muito cuidado com estas informações e como você deve altera-lá. Pois pode não deixar seu ROTEADOR voltar a funcionar.
Poderia explicar como funciona as ROLES de configuração. Mas gastaríamos muito tempo aqui. Deixa para um próximo post.
Encontre a ROLE USER, neste objeto esta a configuração do usuário. Quando você conectar na pagina do roteador, existe apenas um usuário, correto??? Mas não, como você vera no arquivo de configuração, existe mais alguns usuário. E além disso, existe a categoria. Por padrão da TELEFONICA ou VIVO como queriam, a categoria do usuário ADMIN esta como HOME, precisamos alterar ele para SUPER (todos os poderes).
Não se esqueça de clicar no checkbox UNLOCK CONFIG TO ALLOW MANUAL EDITING. Caso contrario, você não conseguirá editar o arquivo.
Localize o (username(admin)), logo abaixo tem um objeto chamado (rule(home)), Altere este campo para (role(super))
Alterado, clique em PUT CONFIG. Pronto seu arquivo já encontra-se alterado e enviado. 
Abra o browser de preferencia, conecte no seu roteador. Introduza usuário e senha. Verá agora que aumentarão os números de campos de configuração, edição de configurações no seu formato desejado.
Caso necessite dar um RESET de FABRICA, o roteador voltará a ter as mesmas configurações anteriores.
Veja o VIDEO que preparei para as minhas configurações de IP DINAMICO.
A Vivo fez bloqueios nas paginas de acesso .CGI e da porta 23 de Telnet para Firmware a partir de Março/2015. Para quem tem problemas com erro 404 no telnet, segue a dica abaixo:

1. Identificar os últimos 8 números do MAC Address - ex. AAFFEE00;
2. Acessar http://192.168.1.1/padrao; 
3. Inserir o usuário: support senha: ex. AAFFEE00; 
4. Acessar Sistema>Manutenção; 
5. Fazer o download das configurações; 
6. Alterar a role do admin - conforme video; 
7. Submeter novamente o arquivo de configurações.


terça-feira, 19 de julho de 2016

VB.net - Habilitando e desabilitando controles automaticamente

Olá PessoALL,

acabei de desenvolver esta rotina e acho que pode ser bem útil para muitos desenvolvedores, ela consiste em habilitar e desabilitar os controles de um formulário automaticamente, está rotina deve ser colocada dentro de um módulo, verifiquem e deixem seus comentários.

Boa sorte.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Module Bloquear    
    Public Sub BloquearCamposTela(pForm As Form, pTipoCampo() As String, pStatus As Boolean, pExcecoes() As String)
        'Utilização
        '----------
        'Bloqueia ou libera os campos da de um formulário passado como parâmentro (pForm)
        'Os campos que não podem ser bloqueados devem ser inseridos como array no parâmetro pExcecoes utilizando o seu nome
        'Deve ser informado se os campos serão bloqueados ou liberados no parâmetro pStatus

        'Parâmetros
        '----------
        'pForm: Form - Formulário que possui os controles 
        'pTipoCampo: Array - Contém os nomes dos controles [windows.forms] ex: {"TextBox","ListBox"}
        'pStatus: Booleano - Status da propriedade enabled dos controles, "True" Bloqueia e "False" não faz nada
        'pExcecoes: Array - Contém os nomes do controles [propriedade name] ex: {"Txt_Nome_Usuario","Btn_Salvar"}

        'Exemplo
        '-------
        'BloquearCamposTela(Me, {"TextBox", "ListBox", "Button"}, True, {"Txt_Nome_Usuario","Btn_Salvar"})
        'No exemplo acima serão bloqueados todos os objetos TextBox, ListBox e Button
        'e não bloquear os controles cujo nome sejam Txt_Nome_Usuario e Btn_Salvar
        '------------------------------------------------------------------------------
        Dim NaoBloqueia As Boolean

        For Each Ctl As Control In pForm.Controls
            NaoBloqueia = False
            For x = 0 To pExcecoes.Count - 1
                If UCase(Ctl.Name) = UCase(pExcecoes(x)) Then
                    NaoBloqueia = True
                End If
            Next
            If Not NaoBloqueia Then
                vCtlName = UCase(Ctl.GetType.Name)
                'Pesquiso se no array pTipoCampo a existência do controle encontrado
                '-------------------------------------------------------------------
                Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)

                If Encontrou <> Nothing Then
                    Ctl.Enabled = Not pStatus
                End If
                '-------------------------------------------------------------------
            End If
        Next
    End Sub

    Public Function EncontrarNoArray(ByVal pStr As String) As Boolean
        'Exemplo:
        'Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)
        'If Encontrou <> Nothing Then
        '    <code...>
        'End If
        'Onde pTipoCampo é um array
        '----------------------------------------------------------------------------
        Return IIf(UCase(pStr).EndsWith(vCtlName), True, False)
    End Function

End Module

VB.net - Habilitando e desabilitando controles automaticamente

Olá PessoALL,

acabei de desenvolver esta rotina e acho que pode ser bem útil para muitos desenvolvedores, ela consiste em habilitar e desabilitar os controles de um formulário automaticamente, está rotina deve ser colocada dentro de um módulo, verifiquem e deixem seus comentários.

Boa sorte.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Module Bloquear    
    Public Sub BloquearCamposTela(pForm As Form, pTipoCampo() As String, pStatus As Boolean, pExcecoes() As String)
        'Utilização
        '----------
        'Bloqueia ou libera os campos da de um formulário passado como parâmentro (pForm)
        'Os campos que não podem ser bloqueados devem ser inseridos como array no parâmetro pExcecoes utilizando o seu nome
        'Deve ser informado se os campos serão bloqueados ou liberados no parâmetro pStatus

        'Parâmetros
        '----------
        'pForm: Form - Formulário que possui os controles 
        'pTipoCampo: Array - Contém os nomes dos controles [windows.forms] ex: {"TextBox","ListBox"}
        'pStatus: Booleano - Status da propriedade enabled dos controles, "True" Bloqueia e "False" não faz nada
        'pExcecoes: Array - Contém os nomes do controles [propriedade name] ex: {"Txt_Nome_Usuario","Btn_Salvar"}

        'Exemplo
        '-------
        'BloquearCamposTela(Me, {"TextBox", "ListBox", "Button"}, True, {"Txt_Nome_Usuario","Btn_Salvar"})
        'No exemplo acima serão bloqueados todos os objetos TextBox, ListBox e Button
        'e não bloquear os controles cujo nome sejam Txt_Nome_Usuario e Btn_Salvar
        '------------------------------------------------------------------------------
        Dim NaoBloqueia As Boolean

        For Each Ctl As Control In pForm.Controls
            NaoBloqueia = False
            For x = 0 To pExcecoes.Count - 1
                If UCase(Ctl.Name) = UCase(pExcecoes(x)) Then
                    NaoBloqueia = True
                End If
            Next
            If Not NaoBloqueia Then
                vCtlName = UCase(Ctl.GetType.Name)
                'Pesquiso se no array pTipoCampo a existência do controle encontrado
                '-------------------------------------------------------------------
                Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)

                If Encontrou <> Nothing Then
                    Ctl.Enabled = Not pStatus
                End If
                '-------------------------------------------------------------------
            End If
        Next
    End Sub

    Public Function EncontrarNoArray(ByVal pStr As String) As Boolean
        'Exemplo:
        'Dim Encontrou As String = Array.Find(pTipoCampo, AddressOf EncontrarNoArray)
        'If Encontrou <> Nothing Then
        '    <code...>
        'End If
        'Onde pTipoCampo é um array
        '----------------------------------------------------------------------------
        Return IIf(UCase(pStr).EndsWith(vCtlName), True, False)
    End Function

End Module

domingo, 17 de julho de 2016

VB.Net Criando um novo arquivo

Este exemplo cria um arquivo de texto vazio no caminho especificado usando o método Create na classe File.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
Imports System
Imports System.IO
Imports System.Text

Module Module1

    Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' Create or overwrite the file.
        Dim fs As FileStream = File.Create(path)

        ' Add text to the file.
        Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")
        fs.Write(info, 0, info.Length)
        fs.Close()
    End Sub

End Module

Executando Aplicativos Externos pelo VB.NET

Olá pessoALL,
eventualmente necessitamos executar algum aplicativo a partir de nosso código, por exemplo o Word, o Excel, o Notepad etc.

Para fazer isso podemos usar a Classe Process do Namespace System.Diagnostics.

Conseguimos fazer isso de duas formas diferentes:

Sem criar uma instância
?
1
System.Diagnostics.Process.Start("excel.exe")
Para passar algum parâmetro, por exemplo o nome do arquivo que será aberto fazemos assim:

1
System.Diagnostics.Process.Start("excel.exe", "C:\teste.xlsx")

Criando uma instância

Utilizando variáveis do tipo Process ou ProcessStartInfo conseguimos ter um controle sobre o aplicativo que desejamos executar.

Aqui temos algumas propriedades da classe ProcessStartInfo:
PropriedadeDescrição
FileNameNome do Aplicativo – Ex: Excel.exe
ArgumentsParâmetros que o Aplicativo receberá
WindowStyleEstilo da Janela: Maximizada, Minimizada…
WorkingDirectoryCaminho da Pasta do Aplicativo
Criando uma variável do tipo ProcessStartInfo conseguimos acessar as propriedades acima.
1
2
3
4
Dim processo As New Process
processo.StartInfo.FileName = "Excel.exe"
processo.StartInfo.Arguments = "C:\teste.xlsx"
processo.Start()
Criando uma variável do tipo Process acessamos estas propriedades dentro da propriedade ProcessStartInfo da Classe Process  
1
2
3
4
Dim processo As New ProcessStartInfo
processo.FileName = "Excel.exe"
processo.Arguments = "C:\teste.xlsx"
Process.Start(processo)
Utilizando a classe Process podemos ter um controle para aguardar o término da aplicação chamada

1
2
3
4
5
6
Dim processo As New Process
processo.StartInfo.FileName = "Excel.exe"
processo.StartInfo.Arguments = "C:\teste.xlsx"
processo.Start()
processo.WaitForExit()
MsgBox("O Processo foi Finalizado!")

É só isso,
Boa Sorte pessoALL.

Related Posts Plugin for WordPress, Blogger...