Cuando uno esta todo el tiempo buscando de quien es la culpa de los problemas, suele tener poco tiempo para arreglarlos.
Es una pena.
| 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | << junio >> | << 2006 >> |
JUN
07
07 de June de 2006 a las 22:13| Archivado en Personal
Escuchando: nada | Animo: Mal.
Por zor
JUN
07
07 de June de 2006 a las 16:10| Archivado en Viajes
Escuchando: GammaRay - Induction | Animo: Bueno...
Voy a la autoescuela a por mi carnet provisional, a celebrarlo, probablemente comiendo sushi, y con bastante seguridad, a provocar caos y desconcierto con un Chrysler Voyager del tamaño de un tanque. Creo.
Por zor
JUN
07
07 de June de 2006 a las 03:05| Archivado en Tecnico
Escuchando: Laibach - Leben haibte leben | Animo: 100%
Quiero que me pague alguno de los clientes, que me den el carnet de conducir antes del fin de semana, comer sushi... y dormir mas de 2 horas. Creo que sería una buena idea.
Acabo de acordarme!!! Ayer soñe con Dagnir. Por segundo dia consecutivo.
Estaba sentado en un banco, pegado a una pared, en lo que parecia el portal de una casa. Me decia que él estaba soñando conmigo en ese mismo momento, y que no podía postear que le acababa de llamar (xxxxxxx) (No voy a poner aquí lo que le dije, desde luego!). Estaba como melancolico y pensativo.
He tenido que solucionar un problema muy interesante por culpa de|gracias a una web.
He visto chapuzas, trucos, inventos, formas absurdas de evitar este problema, pero jamas se me habia ocurrido esta solución, que consiste en pensar un poquito.
No hace falta que sepais html para entender el problema y encontrar la solucion (aunque ya habra huido el 90%,pero seguramente estará leyendo el 10% mas interesante).
Imaginad que teneis una superficie infinita en la que se repite este patron (son pixels, pero lo he ampliado)

Es una imagen de 4x4 pixels que si se repite infinitamente hace lineas diagonales, como en este cuadradito:
Un problema supercomun en web, es intentar poner una imagen "transparente" sobre ese fondo. Hay dos opciones, o hacerla transparente, con lo cual los bordes difuminados, sombras y demas se van a la mierda, o hacer una imagen que tenga debajo el mismo patron repetido. Como por ejemplo esta:

Esta imagen NO es transparente, tiene el motivo detras. Normalmente esta imagen se pone en un punto de la pantalla determinado para que "encaje" con el fondo, y no se note que realmente hay una sobre la otra.
Pero esta técnica no se puede usar cuando pones algo de forma relativa. Por ejemplo "En medio de la pantalla". Porque mi pantalla esta a 1600x1080, la tuya estara a 1024x768 y la del otra señor a otra resolucion. Y el centro en mi pantalla esta a 700 pixels de la derecha y 400 de arriba, pero en la de otro señor esta a 703 de la derecha y 409 de arriba.
Así que si pones la imagen "donde cae" va a hacer un efecto horrible de este tipo:

(he acentuado el color de la trama para que se vea que se nota un huevo que hay una imagen sobre un fondo).
Y hasta ahora no habia encontrado ninguna solucion. Hay chapuzas, como usar una imagen con canal alpha (transparencia, no como el gif sino con muchos niveles), pero la porqueria del explorer no la soporta.
Otra gente opta por meter flash.
Y la mayoria por darlo por imposible.
Pero una de cada x veces, la imagen sale justo en el sitio exacto por azar. Porque las dimensiones de la pantalla son tales que la imagen empieza justo en el punto donde la trama encaja.
Exactamente, la posibilidad de que la imagen salga bien es de 0.25 (1 de cada 4 veces).
Así que he pensado yo, que en vez de complicarme la vida con canales alpha, con diferenciar entre navegador, tenia que haber alguna manera supersencilla de encontrar que puntos son los adecuados.
Si usamos como origen de cordenadas la esquina superior izquierda (0,0), y la imagen esta a X,Y de ese origen, estará en un punto "adecuado", cuando al dividir la resta de X e Y entre 4, dé un resultado exacto. Si la division no da exacta, dará un resto (eso que se ponia en una cazuelita que sobraba cuando haciais divisiones con papel y lapiz), que logicamente estara entre 1 y 3. Ese será el numero de pixels que nos hemos pasado.
A 0,0, estara en un punto guay. a 0,4 tambien porque estaremos una "unidad" de patron a la derecha. Pero a 1,5 tambien , porque aunque nos hayamos pasado un cuarto de unidad hacia la derecha, lo hemos compensado bajando un cuarto de unidad hacia abajo, y encajando la imagen en un sitio donde hay diagonal.
Así que tras comprobar que la imagen no está en una coordenada adecuada, lo unico que hay que hacer es restar a la cordenada correspondiente ese numerito que nos ha dado como resto para que se desplace lo suficiente como para "encajar" con el fondo.
El javascript es una tonteria de 2 lineas :)
delta=(Math.abs(top-left) %4);
top=top-delta;
Solo hay que reposicionar esa imagen (nunca son mas de 3 pixels, por si hay algun fanatico como yo, que me tire el otro dia 45 minutos porque explorer ponia 1 pixel de mas que firefox en una web).
Si el fondo es de 7x7, lo unico que hay que hacer es cambiar la operación y usar modulo 7 en vez de 4.
Espero que esta solución os sirva tanto como a mi :)
Ahora voy a buscar algun otro problema absurdo para no pensar. Unos se emborrachan y se van de fiesta cuando tienen problemas, otros se dedican a jugar al quake, yo me dedico a utilizar todo el procesador disponible para no pensar. Quizá debería probar otros sistemas. ¿sugerencias?
Acabo de acordarme!!! Ayer soñe con Dagnir. Por segundo dia consecutivo.
Estaba sentado en un banco, pegado a una pared, en lo que parecia el portal de una casa. Me decia que él estaba soñando conmigo en ese mismo momento, y que no podía postear que le acababa de llamar (xxxxxxx) (No voy a poner aquí lo que le dije, desde luego!). Estaba como melancolico y pensativo.
He tenido que solucionar un problema muy interesante por culpa de|gracias a una web.
He visto chapuzas, trucos, inventos, formas absurdas de evitar este problema, pero jamas se me habia ocurrido esta solución, que consiste en pensar un poquito.
No hace falta que sepais html para entender el problema y encontrar la solucion (aunque ya habra huido el 90%,pero seguramente estará leyendo el 10% mas interesante).
Imaginad que teneis una superficie infinita en la que se repite este patron (son pixels, pero lo he ampliado)

Es una imagen de 4x4 pixels que si se repite infinitamente hace lineas diagonales, como en este cuadradito:
Un problema supercomun en web, es intentar poner una imagen "transparente" sobre ese fondo. Hay dos opciones, o hacerla transparente, con lo cual los bordes difuminados, sombras y demas se van a la mierda, o hacer una imagen que tenga debajo el mismo patron repetido. Como por ejemplo esta:

Esta imagen NO es transparente, tiene el motivo detras. Normalmente esta imagen se pone en un punto de la pantalla determinado para que "encaje" con el fondo, y no se note que realmente hay una sobre la otra.
Pero esta técnica no se puede usar cuando pones algo de forma relativa. Por ejemplo "En medio de la pantalla". Porque mi pantalla esta a 1600x1080, la tuya estara a 1024x768 y la del otra señor a otra resolucion. Y el centro en mi pantalla esta a 700 pixels de la derecha y 400 de arriba, pero en la de otro señor esta a 703 de la derecha y 409 de arriba.
Así que si pones la imagen "donde cae" va a hacer un efecto horrible de este tipo:

(he acentuado el color de la trama para que se vea que se nota un huevo que hay una imagen sobre un fondo).
Y hasta ahora no habia encontrado ninguna solucion. Hay chapuzas, como usar una imagen con canal alpha (transparencia, no como el gif sino con muchos niveles), pero la porqueria del explorer no la soporta.
Otra gente opta por meter flash.
Y la mayoria por darlo por imposible.
Pero una de cada x veces, la imagen sale justo en el sitio exacto por azar. Porque las dimensiones de la pantalla son tales que la imagen empieza justo en el punto donde la trama encaja.
Exactamente, la posibilidad de que la imagen salga bien es de 0.25 (1 de cada 4 veces).
Así que he pensado yo, que en vez de complicarme la vida con canales alpha, con diferenciar entre navegador, tenia que haber alguna manera supersencilla de encontrar que puntos son los adecuados.
Si usamos como origen de cordenadas la esquina superior izquierda (0,0), y la imagen esta a X,Y de ese origen, estará en un punto "adecuado", cuando al dividir la resta de X e Y entre 4, dé un resultado exacto. Si la division no da exacta, dará un resto (eso que se ponia en una cazuelita que sobraba cuando haciais divisiones con papel y lapiz), que logicamente estara entre 1 y 3. Ese será el numero de pixels que nos hemos pasado.
A 0,0, estara en un punto guay. a 0,4 tambien porque estaremos una "unidad" de patron a la derecha. Pero a 1,5 tambien , porque aunque nos hayamos pasado un cuarto de unidad hacia la derecha, lo hemos compensado bajando un cuarto de unidad hacia abajo, y encajando la imagen en un sitio donde hay diagonal.
Así que tras comprobar que la imagen no está en una coordenada adecuada, lo unico que hay que hacer es restar a la cordenada correspondiente ese numerito que nos ha dado como resto para que se desplace lo suficiente como para "encajar" con el fondo.
El javascript es una tonteria de 2 lineas :)
delta=(Math.abs(top-left) %4);
top=top-delta;
Solo hay que reposicionar esa imagen (nunca son mas de 3 pixels, por si hay algun fanatico como yo, que me tire el otro dia 45 minutos porque explorer ponia 1 pixel de mas que firefox en una web).
Si el fondo es de 7x7, lo unico que hay que hacer es cambiar la operación y usar modulo 7 en vez de 4.
Espero que esta solución os sirva tanto como a mi :)
Ahora voy a buscar algun otro problema absurdo para no pensar. Unos se emborrachan y se van de fiesta cuando tienen problemas, otros se dedican a jugar al quake, yo me dedico a utilizar todo el procesador disponible para no pensar. Quizá debería probar otros sistemas. ¿sugerencias?
Por zor

