Ir al contenido principal

Entradas

Imagen: Editar, Recortar, Redimencionar y Guardar en Carpeta

 En C #, puede ser agotador para hacer ciertas funciones de edición de imagen utilizando GDI +. Este blog tiene algunos métodos de edición divertidas que pueden ser útiles a veces. También he incluido un bonito y pequeño programa en C # para mostrar toda la funcionalidad de los siguientes métodos. Guardar un Jpeg dentro de una carpeta. Lo primero a hacer es configurar la firma del método con los parámetros de entrada. Se trata de la ruta de archivo de salvar (cadena), la imagen de guardar (System.Drawing.Bitmap), y un ajuste de calidad (largo). private void saveJpeg(string path, Bitamp img, long quality) Lo proximo a hacer es configurar la información del codificador para guardar el archivo. Esto incluye establecer un EncoderParameter para la calidad de la imagen JPEG. El siguiente paso es obtener la información codec de su equipo para jpegs. Hago esto con una función para recorrer las disponibles en el equipo y asegurarse que el codec jpeg está ahí. La línea de bajo se ase...

Eventos de una Página Web (WebForm ASP.NET)

Este pequeño post es para aclarar algunos conceptos sobre el ciclo de vida de una página web ASP.NET (WebForm). Nota: A este post le iré agregando mas contenido poco a poco, con los propios comentarios de los lectores y mis experiencias diarias sobre el ciclo de vida y los distintos estados de una pagina. Eventos más importantes de la pagina en orden de ejecución:     PreInit     Init     Load     PreRender PreInit El evento PreInit ocurre antes de la inicialización de los controles de la pagina. Normalmente es usado para añadir dinámicamente controles a la pagina, porque añadiéndolos aquí garantizamos que a dichos controles se les apliquen adecuadamente los Skins del Theme definido (si no hemos definido ningún Theme daría un poco igual añadirlos aquí o en Init, por ejemplo). Además puede usarse para definir dinámicamente (programáticamente) la MasterPage y el Theme de la pagina. Init Este evento ocurre de...

Entendiendo los extensores en c sharp

Los métodos extensores son un recurso de C# a partir de la versión 3.0 y permite añadir métodos a tipos ya definidos sin tener que crear un tipo heredero, recompilar o modificar al tipo original de una forma muy sencilla y con una sintaxis casi idéntica a la forma tradicional de declarar un método. En otras palabras, si queremos añadirle una funcionalidad a una clase o tipo ya definido anteriormente, no tendremos que modificarla, al no ser que vayamos a usar variables privadas de la clase o cosas por el estilo. Se definen como métodos estáticos pertenecientes a una clase estática y no genérica; pero se llaman de la forma tradicional, como métodos de una instancia de una clase. Se les pasa como primer parámetro this seguido del tipo de la clase a la cual se va a añadir el método; aquí tenemos un ejemplo de añadirle un método a la clase String de .Net: public static class MyExtensions { public static int WordCount(this String str) { //Split separa la cadena en un ...

Método Parse() o los métodos de la clase Convert

Vamos arrojar un poco de luz sobre las diferencias entre utilizar el método Parse() de las estructuras de tipos de .NET o utilizar los métodos de la clase  System.Convert . En realidad parece que hacen lo mismo pero existe una gran diferencia.Supongamos que dejamos que un usuario introduzca un valor numérico por pantalla y queremos realizar cálculos con ese valor. Por lo tanto, el valor introducido por el usuario será del tipo System.String y deberemos convertirlo a un tipo de valor numérico, por ejemplo System.Int32 . En definitiva queremos saber que diferencia hay entre ejecutar estas dos lineas de código: int  valorA  =  Convert.ToInt32(valorUsuario) ; int  valorB  =  Int32.Parse(valorUsuario) ; Cuando utilizamos la segunda opción, el método Parse() , si el usuario no ha introducido ningún valor ( null ) recibiremos una excepción del tipo System.FormatException . Lo que indica que el  formato del argumento no cumple las es...

String Cuidado con ese tipo!

El tipo System.String, que como todos sabemos representa una cadena, es un tipo algo especial con el que hay que tener un poco de cuidado a la hora de menejarlo. Veamos en primer lugar una definición más o menos formal del tipo System.String: " El tipo System.String es un tipo por referencia e inmutable (de solo lectura) que representa una cadena de texto como una colección secuencial de caracteres Unicode (objetos System.Char)".  Para este artículo nos centraremos en la primera parte de la definición, es decir, en "El tipo System.String es un tipo por referencia e inmutable (de solo lectura) ...". ¿Que quiere decir que es inmutable? Un objeto inmutable es un objeto que no se puede modificar. Cuando creas, o cargas en menoria un objeto de este tipo, permanece con el mismo valor durente toda la vida del objeto. Veamos el siguiente fragmento de código:              string  miCadena  =...

Manejo de strings en C SHARP .NET

Hola csharpedianos, En este post veremos varios metodos aplicados al manejo de caracteres con la clase string. Un string es una cadena de caracteres, y hay que saber dominar todos estos caracteres y hacer con ellos lo que nos venga en gana. Es por eso que les traigo este post donde veremos algunas cosas interesantes que podemos hacer con esta clase string.  Código en C#  public static bool Contiene(string palabra, string cadena) { for (int i = 0; i <= palabra.Length-cadena.Length; i++) //Si encontramos dos letras iguales if(palabra[i]==cadena[0]) { bool contenida = true; //Recorremos la cadena desde la posición 1 //y comparamos con la palabra a partir de //la posición donde las dos letras iguales for (int j = 1; j < cadena.Length; j++) if (palabra[i + j] != cadena[j]) contenida = false; //Si esta contenida if(contenida) return true; } //Si no está contenida return false; } public static bool EsPalindromo(string s)...

Diferencias entre Char, Varchar, NChar y NVarchar en SQL Server

¿Cuál es la diferencia entre estos, y cuán importante es la diferencia? Char y NChar   Cuando se configura un campo de tipo Char o NChar estamos indicando campos de tamaño fijo. Es Decir, si configuramos una tabla de la siguiente forma Campo1 Char(10), Campo2 NChar(10)   La diferencia entre Char y NChar es el soporte a carácteres Unicode (los carácteres Unicode ocupan más de 1 byte) . Por este motivo a la hora de almacenar algún valor, en el Campo1 siempre ocupará 10 bytes y en el Campo2 20 Bytes. Varchar y Nvarchar VARCHAR es la abreviación de variable-length character string.    Es una cadena de caracteres de texto que puede ser tan grande como el tamaño de página para la tabla de la base de datos. Los campos de tipo Varchar o NVarchar son de almacenamiento variable .  El tamaño almacenado dependerá del valor que se quiere guardar, el número de caracteres sólo configura el tamaño máximo que este campo puede almacenar.  Conf...