sábado, 24 de junio de 2017

Fotos en tres dimensiones con Photoshop

Hacer una foto en tres dimensiones es muy sencillo, y se puede realizar con cualquier cámara, incluso con la del móvil.
Para hacer una foto en tres dimensiones lo primero que hay que tener en cuenta es que en realidad necesitamos dos fotos normales y corrientes tomadas cada una de ellas como vistas por cada ojo diferente. Es decir para tomar una foto en tres dimensiones necesitamos tomar una foto y luego desplazar la cámara ligeramente (unos centímetros) y tomas una segunda foto intentando que el encuadre sea similar. Hecho esto, una vez disponemos de nuestras dos fotos normales y corrientes, con el mismo encuadre pero ligeramente desplazadas (tal y como veríamos la misma escena con el ojo izquierdo y con el derecho) tenemos varias formas de verla en tres dimensiones. Voy a explicar dos de ellas.

fotos en tres dimensiones con photoshop
Más fotos como esta aquí

sábado, 17 de junio de 2017

Curso de C#: campos y propiedades

Campos


Ambas cosas (campos y propiedades) representan a los datos de una clase, aunque cada uno de ellos lo hace de un modo diferente. Los campos de una clase se construyen a base de variables. 

class Circunferencia
    {

        public double Radio;
        public double Perimetro;
        public double Area;
        public const double PI=3.1415926;
    }
  
Los modificadores de acceso de los que se habló al comienzo de este curso  (private, protected, internal y public) son aplicables a las variables y constantes solamente cuando estas representan los campos de una clase, y para ello deben estar declaradas como miembros de la misma dentro de su bloque. Sin embargo, una variable que esté declarada en otro bloque distinto (dentro de un método, por ejemplo) no podrá ser un campo de la clase, pues será siempre privada para el código que esté dentro de ese bloque, de modo que no se podrá acceder a ella desde fuera del mismo. 

Curso de C#: campos y propiedades

sábado, 10 de junio de 2017

Cómo hacer una panorámica con Photoshop

Para hacer una panorámica con photoshop, primero es preciso disponer de al menos dos fotos lo suficientemente contiguas y encuadradas como para que photoshop pueda unirlas automáticamente. Si no son contiguas, photoshop producirá un error y no las podrá unir, y si no están bien encuadradas, photoshop generará un panorama distorsionado por los bordes.

Una vez disponemos de las fotos adecuadas, basta con abrirlas en photoshop con la opción archivo -> abrir.

Panorama con Photoshop

sábado, 3 de junio de 2017

Curso de C# : constructores y destructores

Constructores


El constructor de una clase es un método que se encarga de ejecutar las primeras acciones de un objeto cuando este se crea al instanciar la clase. Estas acciones pueden ser: inicializar variables, abrir archivos, asignar valores por defecto a las propiedades. Un par de reglas:

1º. El constructor ha de llamarse exactamente igual que la clase.
2º. El constructor nunca puede retornar un valor.

Lo primero que se ejecuta al crear un objeto es el constructor de la clase a la que dicho objeto pertenece (el compilador no exige que exista). 

    class Objeto
    {
        public Objeto()
        {
            Console.WriteLine("objeto instanciado");
        }
    }

    class ConstructoresApp
    {
        static void Main()
        {
            Objeto o = new Objeto();
            string a=Console.ReadLine();
        }
    }

En este ejemplo, la clase Objeto tiene un constructor (en negrita). Se declara igual que un método, con la salvedad de que no se pone ningún tipo de retorno Al ejecutar este programa, la salida en la consola sería esta:

Curso de C# : constructores y destructores


sábado, 27 de mayo de 2017

Excepciones en Visual Basic.NET

Vamos a utilizar los eventos para cosas que esperamos que le suceda al objeto. A veces suceden cosas que no se esperan. En .NET, las situaciones excepcionales son tratadas con el uso de excepciones, una implementación para el manejo de las condiciones de error. Dicho programa consiste en "manejar la excepción" cuando se pueden producir errores. Se puede escribir código para "atrapar" la excepción, con lo que la ejecución del programa no se detiene por completo. Por otra parte, se pueden crear excepciones personalizadas para la aplicación, para facilitar información específica al  programa y el usuario acerca de qué ha ido mal.

 Generar una excepción


Esta pequeña aplicación enseña cómo se captura una excepción.

Sobre el evento Click de un botón del formulario ponemos:

Private Sub Boton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Boton.Click

        Dim numbers() As Integer = {1, 2, 3, 4, 5}
        MessageBox.Show(numbers(9))
End Sub


Al ejecutar el programa saltará una excepción, pues intenta leer el índice 9 de un array que tiene 5 elementos, y dice que el array está fuera de rango. Se puede prevenir este error capturando la excepción.

Excepciones en Visual Basic.NET

sábado, 20 de mayo de 2017

Curso de C#: métodos

Métodos


Los métodos son bloques de código manejan los datos de la clase. Cómo se define un método en C#:

acceso tipo NombreMetodo(TipoArg1 argumento1, TipoArg2 argumento2 ...)
{
    // Aquí se codifica lo que tiene que hacer el método
}

acceso es el modificador de acceso del método, que puede ser private, protected, internal o public (como las variables). Posteriormente el tipo de retorno, es decir, el tipo de dato que devolverá el método (que puede ser cualquier tipo). Luego el nombre del método (sin espacios en blanco). Después, entre paréntesis y separados unos de otros por comas, la lista de argumentos que aceptará el método: cada uno de ellos se especificará poniendo primero el tipo y después el nombre del mismo. Por fin, la llave de apertura de bloque seguida del código del método y, para terminarlo, la llave de cierre del bloque.


Curso de C#: métodos