|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - JuanK
Páginas: 1 ... 87 88 [89] 90 91 ... 231
2201
« en: Jueves 13 de Julio de 2006, 15:30 »
como demonios devil.gif se deduce eso scream.gif question.gif
Creo que ahí estamos hablando sobre un hiptético programador ideal, omniciente, omnipotente y perfecto que nos deja estos tips, y pasan de codigo a código. jejeje tienes razon. b ) Al mas proximo: Sumas la mitad de la precision que quieres dar, y fuerzas los dos ultimos digitos a cero. En este caso, se sumaria 50. Sabes que para los menores de 49 se te queda en la centena anterior (por que subes como mucho a 99), y el resto se te pasan a la siguiente centena. Esto se suele usar mucho en aritmetica de coma flotante... c ) Por exceso: El usado aqui. Es similar al anterior, solo que en lugar de sumar 50 se sumarian 99. Asi haces que todos suban a la centena superior salvo en el caso de que ya sea multiplo de 100. Con estos dos ya he visto un poco la luz yme parecen unos puntos clave.
2202
« en: Jueves 13 de Julio de 2006, 14:43 »
Estoy en el módulo Dibujo y tengo algunas dudas con la información del cabezal del archivo bmp:
typedef struct { unsigned int size; /* Header size in bytes */ int width,height; /* Width and height of image */ unsigned short int planes; /* Number of colour planes */ unsigned short int bits; /* Bits per pixel */ unsigned int compression; /* Compression type */ unsigned int imagesize; /* Image size in bytes */ int xresolution,yresolution; /* Pixels per meter */ unsigned int ncolours; /* Number of colours */ unsigned int importantcolours; /* Important colours */ } INFOHEADER;
No entiendo la diferencia entre ncolours e importantcolours. Hice un programita de prueba que despliega en pantalla todos los datos del bmp y me sale todo coherente (al menos para mi) hasta:
xresolution=0; yresolution=0; ncolours=0; importantcolours=0;
¿eso está bien?... yo pensaba que ncolours almacenaba la cantidad de colores que tiene el bmp, pero como me sale 0 parecería que es otra cosa.
... ¿y que son los importantcolours?... ¿colores importantes?... ¿está bien que sea 0?
Análoga duda con xresolution e yresolution Bueno debi extenderme un poco mas: int xresolution,yresolution; /* Pixels per meter */
Esta informacion se usa en algunos casos para los aplicativos profesionaloes de diseño grafico ya que en pantalla el mapa de biste puede tener unas caracteristicas pero al momento de la impresion su tamaño debe ser diferente, asi que etsas dos se usan para determinar cuantos pixeles deben haber por cada metro al momento de imprimir. AQctualmente deben estar casi en desuso porque los aplicativos de diseño generalmente requieren cosas aun mas complejas y para ello usan suis propios formatos. unsigned int ncolours; /* Number of colours */ Aunque al parecer es pura infromacion, creo que este campo se usa en los casos que no es color de 24 bit ni 16 bit, mejor dicho se usa en los casos que se usa la paleta, asi que el numero de colores que aparecen en este campo son el numero de colores representados por la paleta incluida en el bmp unsigned int importantcolours; /* Important colours No se, supongo que informacion nada mas.
2203
« en: Jueves 13 de Julio de 2006, 14:37 »
ancho = (ancho + 3) & ~3;
ancho := (ancho + 3) and not 3;
Esto devuelve un numero multiplo de 4 menor a X. Es decir: Multiplo de 4 < X Por eso es ancho + 3, para que al devolver el menor, sea en realidad el acho + los bytes extra.
es como sacar el resto pero m'as rapido. aunque todavia no logro entender los de AND NOT, tendria que ser como + -, es decir, al final el numero de entrada ser'ia el mismo que el de la salida. Hasta ahi creo que hemos entendido todos... pero aun queda la gran duda de: como demonios  se deduce eso
2204
« en: Jueves 13 de Julio de 2006, 04:29 »
ni te fijes:
xresolution=0; yresolution=0; ncolours=0; importantcolours=0;
no se usan en bmp de 24 bits, o al menos no para un bmp24 standart.
2205
« en: Jueves 13 de Julio de 2006, 02:58 »
Saludos, he revisado y lo tengo como lo hacia Geo. Algiuen me puede explicaar que hace esto? ancho = (ancho + 3) & ~3; */ alineado en 4 bytes*/ bitsize = ancho * alto_imagen
Es decir ya se que hace pero no se la lógica usada para lograrlo. gracias.
2206
« en: Miércoles 12 de Julio de 2006, 20:39 »
padWidth := FWidth mod 4; for j:=FHeight downto 1 do begin for i:=1 to FWidth do begin BlockRead(F, Pixel, sizeOf(Pixel), Transfer); if Transfer=0 then Break; Pixels[i,j] := Pixel; end; Seek(F, FilePos(F)+padWidth); end;
Basicamente los que hace es: Leer completamente la Fila y luego se saltea en el archivo los Bytes agregados (pueden ser 1,2 o 3). FilePos, es la posicion actual en el fichero, padWidth, son los bytes necesarios para que sea multiplo de 4 el ancho.
PD: Leer pixel por pixel es lento. Se puede usar de seguro un MemCopy para leer toda la fila (por eso es multiplo de 4). Asi es enko. En efecto alguna vez lei que se dejode 24 bit porque es mucho mas rapido manejar los movimientos con un entero de 32 que con un short de 16 y un byte de 8. La transferencia del bloque completo es la mejor y mas rapida, y fue la que use en mi caso aunque no hice paso por fila sino paso directo de todo ( en la parte del dibujo).
2207
« en: Miércoles 12 de Julio de 2006, 20:27 »
while (bytesLineaRelleno % 4 != 0) bytesLineaRelleno++;
Ahora que veo estas lineas de geo, se me hacen muy familiares, no descartaria que asi fuera como yo lo tenia.
2208
« en: Miércoles 12 de Julio de 2006, 20:26 »
Hola!!
La verdad es que creo que esta mal. La solucion seria:
if (ancho%4 != 0 ) ancho += (4 - ancho%4);
Por lo que no vale tu forma es por que si tengo una imagen de 5x5, ancho es 15, y ancho = 15 + 15%4 = 15 + 3 = 18, que sigue sin ser multiplo de 4.
La otra forma que postearon antes tambien era valida (es la que yo use en mi solucion). Lo que te hace es ahorrarte la comprobacion y calcular el modulo, es decir dos divisiones... La verdad que no es gran cosa por que esta operacion solo deberia de hacerse una vez en todo el codigo, pero menos es nada 
Un saludo!! Hola!, Bueno como te dije no recuerdo muy bien como era mi solucion, tendria que revisar en la noche mi viejo codigo C, pero lo que si recuerdo muy bien es que e solo usa un modulo, seguro en C es algo asi como esto: ancho += (4 - ancho%4 );
En todo caso reviso y les cuento. Y claro esto no afecta el performance porque esta operacion se hace solo una vez.
2209
« en: Miércoles 12 de Julio de 2006, 19:11 »
oK , LA INFROMACION ESTA DEVUELTA. Mi solucion, si mal no estoy es: ancho= (BMPwith * bytesPerPixel); ... ancho+= ancho%4; bitsize = ancho * alto_imagen;
2210
« en: Miércoles 12 de Julio de 2006, 18:27 »
He recibido la solucion de Nagisa y Diodo. Los demas animense!!!
2211
« en: Miércoles 12 de Julio de 2006, 17:12 »
Gracias enko.
Si convierten esta a bmp tambien les puede fallar.
2212
« en: Miércoles 12 de Julio de 2006, 14:57 »
Tu code Lo he quitado por que creo que enko no los pidio porque quiere hacerlos el mismo, por cierto no entiendo muy buie lo que hiciste, yo lo hacia de nua manera mas sencilla
2213
« en: Miércoles 12 de Julio de 2006, 00:24 »
Prefiero utilizarlo cuando salga T<mbien estoy de acuerdo. yo solo he usado el vista para ir probando la capacidad de mi mauina, y los programas que he hecho en .net, asi como el performance etc... pero de lleno en mi PC sigo con mi windows Xp profeesional SP 2 con parches al dia y en el portatil con Windows XP media Center Edition SP2 con parches al dia tambein. ( perdon por insistir con o del portatil pero es que estoy estrenando  )
2214
« en: Miércoles 12 de Julio de 2006, 00:15 »
ahhh claro!! no esperaba para nada que fueran compatibles a nivel binario. Lastima que un OS como SOlaris u otros tan grandes sean tan despresiados pero supongo que a algo se debe. Hmmm, si OpenBSD pudiera funcionar con D-Links wireless usando claves de 26 bits... yo lo usaria como desktop (sip lo haria en serio) Yo creo que al precio, no se hopy en dia, pero ahce unos 4 años una liscecia de AIX, HPUX o SOLARIS valia un ojo de la cara. Yo insisto en que la calidad cuesta, aunque en el caso de BSD puede que no aplique.
2215
« en: Miércoles 12 de Julio de 2006, 00:11 »
2216
« en: Martes 11 de Julio de 2006, 23:51 »
Lo mismo decian cuando salio Windows XP... y ahora todos lo tienen. Ahora, después de 5 años de que salió. 
En 5 años probablemente tenga la super-pc necesaria para instalar Windows Vista. JAJAJAJA buen apunte. Pero no es tan asi. En la mayoria de las empresas donde he trabajado desde el 2004 lo tienen en el +80% de sus computadores. Ya a nivel hogar no es asi.. pero por favor , no se ustedes pero un usuario infromatico no puede quejarce que para poder instalar windows XP o vista necesita una super maquina. No es necesario cambiar todo el computador, o al menos eso digo yo. Todos mis PC los he armado yo mismo y actualizarme para un sistema operativo no es problema, o al menos no tan grande como algunos lo ven, simplemente compro la parte que necesito, vendo por mercadolibre la que ya no necesito y se acabo. La mayoria solo necesitara actualizarce en tarjeta de video para darle bienvenida a a vista, de ahi para alla en orden de importancia seguramente memoria disco duro procesador board pero no creo que muchos casos necesiten mas alla de cambiar la tj de video y de pronto disco... bueno pero sino se actualizaron a XP....  ahora les tocara sacar mas dinero de sus bolsillos. Y eso es dificil para los que aun estan en la escuela y/o no trabajn.
2217
« en: Martes 11 de Julio de 2006, 23:24 »
jejeje, yo tenia monitor de 14" y siempre lo use a 1024*768 despues tuve monitor de 17" y siempre a 1280*1024 , actualmente el de la ofi es asi. de hecho el portatil que tengo ahora tiene res 1900*1400 y es de 15" wide screen. El monitor de la casa es 1900*1400 y es de 19" Wide Screen. siempre me ha parecido de lujo llevarse el monitor a maxima resolucion, y siempre es configurable el tamaño de las letras, aun mas facilmente en un browser. Nunca se me han descuadrado paginas por eso, pero si me parece muy aburrido aun ver paginas de 640*480 y/o 800*600 . Un adicional: http://enter.terra.com.co/enter2/ente2_act..._2-2998074.html
2218
« en: Martes 11 de Julio de 2006, 23:10 »
 pero se supone que si los linux con su nucleo y los BSD y etc... implementan posix desde luego los programas deben ser muy facilmente compatibles entre unos y otros, asi que al menos en teoria y en el supuesto de que sus respectivos kernels soporten las llamadas establecidas en el estandart posix, se puede montar todo un linux ( no el kernel, digo la distro) o gran patre de el sobre un kernel bsd y viceversa. Si no es asi... cuales son las razones? Por otro lado nunca he sido amigo de linux ( miento si lo fui hace un tiempo) y estoy convencido que si es mucho mejor un BSD que un linux toda la vida por las razones ya expuestas por su-. En mi opinion y siempre lo he dicho, linux es solo un monton de parches del cual uno no se debe fiar. Hablando e ubunto quiero probarlo proque esta haciendo mucho ruido, ubunto tiene un nucleo bsd? linux? o cual? De todos los unix y unix like, me quedo toda la vida con los de la vieja guardia, abanderados desde luego por AIX ( segun mis gusto y lo que conoci) ,aunque otros que alcance a conocer como Solaris (Sun OS) o el HPUX creo que eran maximos ( aunque ese en especial me parecia un enrredo).
2219
« en: Martes 11 de Julio de 2006, 20:36 »
Lo mismo decian cuando salio Windows XP... y ahora todos lo tienen.
2220
« en: Martes 11 de Julio de 2006, 20:34 »
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color]t1.campo1, t2.campo2 FROM tabl1 t1, tabla2 t2 WHERE ... AND instr ('?', t1.campo1)=1 <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
2221
« en: Martes 11 de Julio de 2006, 17:27 »
de preferencia a mi correo en archivo .zip o .rar pero cambiandole la extencion a .doc para que puedan subir los exes en el zip / rar juank.ruiz@gmail.comcuando ya todos hayan terminado las colocare publicas.
2222
« en: Martes 11 de Julio de 2006, 17:06 »
2223
« en: Martes 11 de Julio de 2006, 15:21 »
he probado y no me deja poner valores en blanco en las consultas SQL ni en el asistente de selección de crystal report. Por Ejemplo: SELECT * FROM CLIENTES WHERE CADENA = "" Esto no me deja ponerlo. Ayudenme Esta mal escrito, tienes estas dos alternativas: <!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td> SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] * FROM CLIENTES WHERE CADENA IS NULL <!--sql2--></td></tr></table><div class='postcolor'><!--sql3--> <!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td> SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] * FROM CLIENTES WHERE CADENA = '' <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->--> Comillas simples
2224
« en: Martes 11 de Julio de 2006, 15:00 »
Me parece una excelente idea.
2225
« en: Martes 11 de Julio de 2006, 15:00 »
pero no creo que sea necesario porque firefox 2.0 supuestamente incluye un corrector ortografico.
Páginas: 1 ... 87 88 [89] 90 91 ... 231
|
|
|