Archivo por meses: julio 2013

¿La muerte de un foro? (Los foros del Guille)

 

Pues esa es la pregunta que me ha hecho un usuario de los foros del Guille (foros.elguille.org), aquí te muestro la pregunta y mi respuesta, y más abajo seguramente te contaré más cosas… como diría José Mota: pero hoy no, ma-ña-na… 😉

 

Página principal de los foros

 

La pregunta

 

57133 – La muerte de un foro – 17/07/13 07:56

Hola Guille:

Si buscas en los foros, puedes ver que soy de las más asiduos a tu foro, desde hace años. No es que lo sepa pero tengo la impresión de que soy el único que queda intentando responder a los foros, no se si mis respuestas son las mejores pero me parece que desde hace varios meses o años son las únicas.

De hecho, cuando yo publico una pregunta nadie me ha respondido.

Ya debes haber notado que cada vez se publican menos y cada vez hay menos interés en tu foro, precisamente porque nadie obtiene respuestas. El foro es tuyo, pero me gustaría que lo volvieses a levantar dedicándole tiempo a responder a los foros. Tus respuestas y conocimientos son excelentes y los considero mejor que los míos.

O sea, dicho de otra forma, en tu foro, nosotros los usuarios te extrañamos.

Saludos

sistemas

 

Mi respuesta

 

57136 – Re: La muerte de un foro (Resp: 57133) – 18/07/13 15:25

Hola,

Y tienes más razón que un santo, para que te voy a decir lo contrario.

Yo no entro de forma habitual desde agosto del 2010 y cuando lo he hecho muchas de las preguntas son relacionadas con acceso a datos, datagrid, crystal, etc., que son temas que es raro que yo responda, salvo en ocasiones puntuales (que son más bien pocas).

El no cerrar el foro a pesar de que la mayoría de colaboradores/moderadores (ni yo) entramos es porque hay muchas respuestas que siguen siendo válidas y al estar indexadas en los buscadores, creo que a muchos les puede resultar de utilidad cuando busquen por un problema similar.

Además de que en muchas de esas preguntas/respuestas los propios usuarios que hacen la pregunta ni siquiera tienen la gentileza o cortesía o educación (o como quieras llamarlo) de indicar que la respuesta soluciona la duda, o en caso de que no se le haya respondido, si encuentran la respuesta por otro lado, tampoco vuelven para decir cómo lo solucionó.

Pero esto último no es nuevo y tampoco es la razón principal de la ausencia de los que habitualmente respondíamos por aquí.
Pero por supuesto, al culpa es mía, ya que es lógico que pienses (tú y el resto de colaboradores) que si "el guile no entra a responder las consultas ¿para qué voy a entrar yo a responder?".

Te agradezco lo que estás haciendo, y entenderé si dejas de responder, pero por ahora no tengo "fuerza moral" para pedir a otros que hagan lo que supuestamente tendría que hacer yo, ya que este foro se llama "el guille" y por tanto debería ser el guille el que responda (si no a todo, al menos responda de vez en cuando).
Aunque podría argumentar que un foro "público" no tiene porqué estar supeditado a una persona, pero sí, la gente espera que yo esté por aquí… y lo he estado, pero hay muchos motivos que han hecho que deje de aparecer como antes lo hacía.

No sé qué haré con el foro, en principio lo voy a seguir dejando abierto, lo mismo a partir del año que viene lo dejo de solo lectura… no sé qué haré, para que te voy a decir otra cosa.

Perdona que me haya enrollado tanto rie

elGuille

 

Nota: hay algún que otro error ortográfico en el texto de mi respuesta, mi excusa es que mientras lo escribía el IE estaba usando el diccionario inglés y me corregía automáticamente cosas, como por ejemplo guille lo cambiaba a guile y alguna que otra cosa… he intentado arreglarlo antes de "postearlo", pero algo se habrá quedado…

 

Más comentarios

 

 

Extra (más pensamientos y suspiros)

Y es que… me he puesto a mirar la página de "noticias" en la que pongo mensajes para que los usuarios del foro los vayan leyendo (iluso de mí) y es evidente de que muchos usuarios "pasan" de todo y van a lo que van… resuélveme el problema y que te den… (no todos, también hay que decirlo), si no fuese así… ¿por qué iba a repetir tantas veces eso de que antes de preguntar que busquen la respuesta o de que no hagan la misma pregunta más de una vez en varios foros o de que las preguntas las hagan en el foro adecuado o que indiquen la versión que están usando, etc, etc?

¡Ay zeñó! En fin… paciencia…

 

Nos vemos.
Guillermo

Mira que soy torpe o el Guille y los tiles de Windows 8.1 Preview

 

Pues eso… que estaba haciendo pruebas (en mi aplicación del Reloj para Windows 8) para utilizar los nuevos tamaños de los iconos de la aplicación en la página de Inicio (también conocidos como tiles) y no me mostraba el tamaño grande.

He estado mirando en la documentación y en los ejemplos (de C# porque de VB no hay todavía para la preview de Windows 8.1) a ver si había algo especial que hacer, me encontré que ahora se indica la versión (version) del elemento visual al número 2:

<visual version="2">

También he visto que se puede indicar fallback con el tipo de template xml anterior, con idea de que si el indicado no está que se use ese otro (que suelen ser iguales):

<binding template="TileSquare150x150Block" fallback="TileSquareBlock">

Pero nada. No me mostraba los nuevos tamaños, solamente los dos que ya tenía: cuadrado y alargado (ahora mediano y ancho).

 

Y después de hacer algunas miles de millones de pruebas (exageradillo que es el niño) resulta que me da por mirar el "manifiesto" de la aplicación y… ¡torpeeeeeeee! ¡queresmutorpe! (me lo digo yo a mi mismo)

Pues resulta que no había imágenes para el tamaño grande, y por tanto… ¡no se puede mostrar ese tamaño en el tile!

Así que… si quieres que tu aplicación soporte todos los tamaños en los tiles, debes tener relleno todos los campos de los tamaños (ver la figura 1).

 

Screenshot (16.1)
Figura 1. Los tamaños del icono / tile soportados por la aplicación

 

Lo dicho, que tengo una memoria de pez olvidadizo y que además de eso más de la mitad de lo que pesa mi cerebro en vez de corteza cerebral es de torpeza cerebral… en fin… :-/

 

Espero que te sirva… y ya ni te pido que dones algo porque se ve que no estás por la labor… yo tampoco lo haría… ¡pa que te voy a decir otra cosa!

 

Nos vemos.
Guillermo

Error 0x8004010F :: Outlook data file cannot be accessed

 

Pues eso… el otro día te explicaba cómo usar un disco virtual como si fuese físico, y si leíste la "batallita del agüelo" sabrás que era para poder acceder a los ficheros de datos de Outlook (.pst), que al final acabé copiándolos al disco físico en el que tengo el Windows 8 y el Office 2013.

Hasta hace unas horas estaba funcionando bien, hasta que empezó a mostrarme error al enviar un mensaje en el que decía que era el error 0x8004010F y la descripción Outlook data file cannot be accessed.

Así que, antes de buscar respuesta en los foros públicos, reparé el fichero de datos en cuestión (el que utiliza la cuenta que me daba error). Vuelvo a probar y al entrar en Outlook (inicia un enviar/recibir de forma automática), ahora resulta que tengo dos cuentas que tienen ese mismo error. Reparo nuevamente. Y nada de nada… la vida sigue igual.

Busco en internet a ver qué cuentan, y además de encontrar en el soporte de Microsoft esto: Error 0x8004010F en Outlook 2010 o Outlook 2013 (que es lo que dan como respuesta en los foros públicos de Microsoft Outlook 2010), también me encuentro con esta otra página que lo explica de otra forma (más simple y sin crear un nuevo perfil): 0x8004010F: Outlook data file cannot be accessed.

Como yo estaba más por labor de resolverlo que de ver los detalles, me puse a seguir los pasos que ahí en esa última página indicaba. De lo que si me fijé después (creo) es que una de las dos cuentas NO tenía asignado un fichero de datos o al menos no lo mostraba en la ventana de configuración de cuentas (ver figura 1).

 

error en outlook
Figura 1. En Account Settings / Configuración de la cuenta podemos indicar el fichero .pst a usar

Aunque como puedes comprobar,m en la figura 1 si muestra el nombre (junto al botón Change Folder), pero eso es porque la captura la he tomado después de arreglarlo.

La cuestión es que ahí no mostraba nada, así que… pulsé en el botón Change Folder, busqué el fichero de datos y ¡asunto arreglado!

 

Y ya está… aquí dejo esto para el que le sirva… seguramente a mí me servirá en otra ocasión (creo que esto ya me pasó alguna que otra vez) así que… voy a pulsar en el botón ese de arriba que pone lo de "Donar" (debajo del texto Donativo al blog del Guille) y así me autoinvito a un café 😉

 

Nos vemos.
Guillermo

Cómo usar un disco virtual en tu Windows (también usando diskpart)

 

Pues eso… que los discos virtuales (los usados en las máquinas virtuales) los puedes utilizar en tu equipo como si fuera un disco normal. Al menos si esos discos son del tipo VHD o VHDX (no he probado con otros tipos de discos).

Para añadir (o montar) un disco virtual como una unidad normal podemos hacerlo desde Disk Management (ver la figura 1) o usando la línea de comandos y la utilidad del sistema DiskPart.

 

montar vhd 01
Figura 1. Disk Management en Computer management
o lo que viene a ser "Administrar" el equipo y los discos o viceversa

 

ADVERTENCIA:
Si no haces pruebas a lo loco mejor que mejor, ya que la utilidad DiskPart (o la utilidad gráfica de administración de discos) pueden eliminar particiones y otras cosas que seguramente no querrías hacer con tus discos duros, ya sean físicos o virtuales.
EL QUE AVISA…

 

 

Montar un disco virtual desde la línea de comandos con DiskPart

Con la utilidad DiskPart lo puedes hacer "a mano", es decir, usando los comandos en el "shell" de DISKPART, esto es: en la línea de comandos escribes DISKPART y pulsa INTRO y a continuación los comandos que te indicaré.

Pero también lo puedes hacer con un fichero que incluya esos comandos. Y para usarlo sería algo así como: diskpart /s ficheroDeComandos

Los comandos para indicar que utilice un disco virtual y que los adjunte (monte), serían los siguientes:

select vdisk file="el path completo al disco virtual"
attach vdisk

Esto lo puedes incluir en un fichero, por ejemplo diskpart_src.txt y usarlo desde la línea de comandos con:

diskpart /s diskpart_src.txt

O también, como te comenté antes, escribiendo directamente DISKPART en la línea de comandos y escribir esos dos comandos:

DISKPART> select vdisk file="el path completo al disco virtual"
DISKPART> attach vdisk

y para salir del "shell" de diskpart escribe exit:

DISKPART> exit

 

Esto le asignará automáticamente una letra de unidad.

 

NO me preguntes cómo hacerlo con la utilidad DiskPart, que si bien es posible hacerlo, en realidad es un rollo, así que… sigue leyendo y lo mismo te vale como a mí me ha valido.

 

Nota:
Cuando añades un disco virtual o cualquier otro disco "extraíble", Windows suele recordar las letras de unidades asignadas en ocasiones anteriores, por tanto, si esa letra está libre, la volverá a usar.

 

Añadir un disco virtual con el administrador de discos

El Administrador de discos está dentro de la utilidad de administrar el equipo (ver la figura 1), y para mostrar el administrador del equipo (Computer management) puedes hacerlo pulsando con el botón secundario del ratón sobre el icono de Equipo / Computer / This PC y seleccionar Administrar (Manage) y una vez que muestra la ventana, seleccionar administración de discos (Disk Management) y en el menú Action (Acción) seleccionamos Attach VHD (Exponer VHD) (ver la figura 2).

montar vhd 02
Figura 2. Indicar el disco virtual a utilizar

 

En la ventana que nos muestra, buscamos el fichero (disco virtual) que queremos montar y lo tendremos en la lista de discos (en la figura 1, el Disco 1, es un disco virtual).

Utilizando este método también le asignará la letra automáticamente, pero con la ventaja que es más fácil cambiarla. Por tanto, mi recomendación es que la primera vez lo agregues desde el administrador de discos, le asignes la letra (o letras si el disco tiene varias particiones), y así respetará las letras indicadas. Eso sí, intenta usar letras que estén más al final, con idea de que las primeras las utilice para los discos USB y tarjetas de memoria, etc.

 

Nota:
Los discos virtuales también se pueden usar para iniciar nuestro equipo usando el sistema operativo que incluya… pero eso te lo lees aquí: Agregar un disco duro virtual para arranque nativo al menú de arranque

 

La batallita del agüelo

Te lo cuento al final, pero para el caso es lo mismo, te lo puedes saltar si quieres.

Hoy (realmente ayer día 9) he estado usando el disco virtual en el que tengo el Windows 7 Ultimate que tenía antes de instalar el Windows 8. Y la verdad es que últimamente lo utilizo sólo para leer el correo con Outlook 2010, ya que algunas de las aplicaciones que antes usaba en ese Windows ahora las estoy usando en el Windows 8 o simplemente no las estoy usando, pero que lo dejo ahí por si me hiciera falta, como es el Visual Studio 2010, el Management Studio de SQL Server y alguna que otra aplicación.

El caso es que he instalado el Outlook 2013 en mi equipo con Windows 8 (antes tenía el resto del Office 2013, pero no el Outlook) y he accedido a los ficheros de datos (.pst) de Outlook (no sin algún que otro problemilla de sincronización que, afortunadamente, he solucionado con el reparador de PST: SCANPST.EXE). Pero como resulta que esos ficheros de datos están en el disco virtual (el que utilizo con la máquina virtual del Windows 7), y si quiero volver a usarlos tendré que andar montando el disco cada vez que quiera acceder a esos datos, por tanto, lo mejor es crear un fichero "batch" al cual poder llamar cada vez que quiera "montar" (montar de agregar, no es que me vaya a subir encima como si fuera un caballo o lo que quiera que estés pensando… jum!) el disco virtual, con idea de no tener que estar haciendo todos los pasos que necesita uno hacer con el administrador de equipos, sobre todo porque algunas veces tarda un poco más en mostrar los discos y hasta que no los muestra, el menú Acción no tiene las opciones pertinentes.

Por tanto, lo mejor es tener un acceso directo al fichero "bat / cmd" con las instrucciones para montar el disco virtual y así… es más rápido… ¿no?

Por supuesto existe la opción de copiar esos ficheros a un disco físico y usarlos desde ahí… que será lo que haga cuando tenga más "consolidado" el uso de Outlook desde el Windows 8.

Y esto es todo… y ya es más de las doce y media y… pues eso… que te he contado todo esto porque quería que lo supieras y así, a mi me puede servir de guía si alguna vez no me acuerdo cómo se usan esos comando de DiskPart.

Y es que lo mío no es la memoria, otro tanto me pasa/pasaba con la forma de mostrar la ventana esa para que puedas indicar el usuario que se iniciará con Windows y no tener que poner la clave.
¿Que quieres que te lo cuente?
Vale, pos te lo cuento, pero sin enrollarme, que ya lo tengo explicado en mi sitio.
Simplemente escribe : control userpasswords2 y ya está… a seguir las indicaciones… (o mejor mira el artículo que en su día publiqué en mi sitio)

 

Espero que te sea de utilidad, acuérdate de Donar (si quieres) y esas cosas que te digo y te diré siempre 😉

 

Nos vemos.
Guillermo

Cambios radicales en Windows 8.1 Preview (para developers)

 

 

Nota del 08/Jul/13 17:00:
Ayer noche publiqué este artículo, y esta mañana he estado haciendo ciertas comprobaciones, y entre ellas he modificado parte del código que te muestro, además de un pequeño truco para seguir usando los elementos VisualState que ya tengamos en el código XAML, aunque ya no existan como "modos de visualización".
La forma de usar o indicar cuál de los elementos VisualState definidos en el código XAML queremos usar (si hubiera alguno, si no existe ese "aspecto visual" simplemente lo ignora y no produce ningún efecto ni excepción) es haciendo una llamada al método GoToState de la clase VisualStateManager. Esa llamada la haremos en el código del método que intercepta el evento SizeChanged. En el código que te muestro más abajo utilizo esto que te estoy comentando.

 

Pues eso… que las cosas han cambiado con Windows 8.1 Preview con respecto a la versión anterior y las cosas que antes nos dijeron que eran de una forma, ahora resulta que no es así, y lo peor es que si no las cambias en tus aplicaciones de Windows 8 para Windows Store (Tienda de Windows) no quedarán "cool" y por tanto darán mucho el cante, es decir, que tus aplicaciones van a destacar, pero no por lo buenas o interesantes que puedan ser, si no porque parecerán aplicaciones que ni siquiera te has molestado en testear (probar).

Bueno, a lo mejor he sido un poco exagerado, ya que esto será así sobre todo si tu aplicación actual para la Tienda de Windows utiliza cosas como acoplarse a la izquierda o derecha (snapped) o tiene en cuenta si tiene otra aplicación acoplada o utiliza actualización del icono de la pantalla de Inicio (live tiles) y algunas cosas más…

Pero aquí estoy yo para intentar darte un poco de claridad en estas cosas que nos vienen encima, así que… empecemos con algunas cosas.

 

Las aplicaciones de Windows 8.1 pueden cambiar de tamaño

Pues eso es así, aunque con la filosofía de Windows 8, es decir, a pantalla completa.
Sí, sí, no me he equivocado, espera y te lo explico.
Las aplicaciones de Windows 8.1 (las que se utilizan para la pantalla de inicio, estilo metro o Modern UI) no funcionan en una ventana independiente, esas son las que funcionan en el escritorio, las propias de Windows 8 cuando las inicias, las veremos a pantalla completa. En la versión actual de Windows 8, además de pantalla completa hay otras dos formas de verlas: acoplada a uno de los dos lados (Snapped) o rellenando lo que deja una aplicación que esté en el modo acoplado (Filled).
Pero esto ha cambiado en Windows 8.1 y ahora los modos Snapped y Filled no existen. La pantalla se puede dividir para que podamos ver dos aplicaciones a la vez (como antes), pero en esta ocasión la división no tiene porqué ser tan evidente como antes, por ejemplo, en la figuras 1 y 2 tenemos cómo se verían las dos mismas aplicaciones usando Windows 8 (fig. 1) o Windows 8.1 Preview (fig. 2).

 

screenshot_07072013_173613_8
Figura 1. Windows 8: Aplicaciones en modo Snapped y Filled

 

screenshot_07072013_173815_8.1
Figura 2. Windows 8.1 Preview: Aunque parecido a Snapped y Filled, internamente no es así

 

Si miramos las dos capturas parece que no hay diferencia en las dos versiones de Windows 8 (salvo por la rayita que hay en la separación), pero si miras la siguiente figura (la 3), verás que la aplicación de la izquierda (que no está preparada para Windows 8.1) sigue manteniendo los tamaños de lo que antes era Snapped, pero ocupando más pantalla. Por otro lado, la aplicación para el tiempo si que se adapta al nuevo tamaño.

 

screenshot_07072013_173841_8.1
Figura 3. Windows 8.1 Preview: El tamaño ya no es fijo como en la versión anterior

 

Como detalle, decirte que en modo Snapped el ancho solía ser de 320 pixel y que en Windows 8.1 cuando inicialmente acoplamos la aplicación a uno de los dos lados, ese tamaño suele ser variable, por ejemplo, en una resolución de 1024 (que antes no permitía el modo Snapped) el ancho sería de 501 pixel, y en una resolución de 1366 ese ancho inicial es de 672 pixel.

 

Saber cuando la aplicación está en los "antiguos" modos Snapped o Filled

Para nosotros los developers (voy a usar la palabra en inglés, ya que algunas veces hay discrepancia entre el uso de desarrollador y programador) lo que debemos saber es que en Windows 8.1 ya no se podrán usar esos modos de visualización, bueno, no sólo no usarlos, lo peor es que no tenemos una forma fácil de saber si nuestra aplicación está en modo acoplado (Snapped) o no.

Lo que Microsoft recomienda o dice en la advertencia (ver figura 4) al usar la enumeración ApplicationViewState, o cuando queremos usar ApplicationView.Value (que es el que nos indica si la aplicación está en modo Snapped o Filled), es que tengamos en cuenta el tamaño al que se muestra nuestra aplicación y actuar en consecuencia.

 

Screenshot (14.1)
Figura 4. Advertencia (warning) al usar las propiedades y enumeraciones obsoletas

Resumiendo, el texto de la advertencia es: que la propiedad Value está obsoleta y que comprobemos directamente el tamaño de la ventana (Instead, query for window layout sizes directly).

Esto está muy bien, particularmente para las nuevas aplicaciones que hagamos, pero el problema es cuando esos tamaños los estamos utilizando en las aplicaciones existentes. La prueba la tienes en la figura 3, que a pesar de tener más espacio disponible, no se adapta al nuevo tamaño.

 

Nota:
Estoy usando la aplicación Microsoft Mahjong en estas capturas, pero podría estar usando muchas otras de las aplicaciones que hay para Windows 8, por ejemplo la de mi Reloj para Windows 8, en las que no se comprueban más cosas, simplemente porque en el momento de crear/publicar la aplicación no había más posibilidades de tamaño que pantalla completa, Snapped o Filled.

 

Como veremos dentro de un momento, me he fabricado unas funciones para saber si estamos o no en modo Snapped (o Filled, etc.) o lo que es lo mismo, cuando la aplicación está acoplada a uno de los dos lados y tiene un tamaño menor del que yo he predeterminado para simular esos valores.

Aunque tengas esas funciones, el problema real será si hemos usado (como ellos nos recomendaron) que la mayoría de los cambios en el tamaño de los controles, etc. lo hiciéramos dentro del código XAML (como elementos VisualState), ya que en Windows 8.1 Preview esos valores los ignoran completamente.

Por tanto, si queremos dar la misma funcionalidad a nuestra aplicación que la que ya teníamos, tendremos que convertir esos valores indicados en el diseño de la ventana en código directo y asignarlos en el evento SizeChanged del control o ventana.

Aunque también podemos indicar cuál de los VisualState que tenemos definido en el código XAML queremos usar. Esta opción es más adecuada, aunque podemos usar una mezcla de los dos, tal como veremos dentro de poco en el ejemplo final.

Y como también hay dos valores que se tenían en cuenta para manipular los tamaños de los objetos mostrados, como son si la aplicación está en modo horizontal (landscape) o en modo vertical (portrait), pues yo también me he fabricado un par de funciones para esas dos ocasiones.

Así que, veamos el código de las funciones que he definido y así será más fácil de entender el código que ponga para realizar esos cambios en el evento de cambio de tamaño de la ventana.

 

Funciones para simular Snapped y Filled o cómo saber si nuestra app está acoplada a uno de los lados

La definición del código la he hecho en la clase App, pero puedes hacerlo donde quieras, ya que están definidos como métodos compartidos (Shared en Visual Basic, static en C#).

En total he definido 6 métodos, dos de ellos para saber si está en modo Snapped o Filled. En estos dos utilizo una constante con el valor 750 para indicar que si el tamaño de la ventana (de la aplicación actual) es menor de esos 750 px y además la aplicación está anclada a la derecha o a la izquierda es que está en modo Snapped, por otro lado, considero que está en modo de relleno (Filled) si está ajustada a uno de los lados y el tamaño es igual o superior a esos 750 pixel. Por supuesto , en esta segunda consideración entrarían los modos en que estaría una aplicación cuando el usuario la está redimensionando (y el tamaño que le asigna es 750 o más), pero para ir viendo los cambios, ya nos vale, o, al menos, a mí me vale.

Nota:
El código que te mostraré es para Visual Basic, pero a diferencia de lo que han hecho la gente de Microsoft, también te mostraré el código de C#, pero no en el momento en que estoy escribiendo esto, pero lo pondré.

 

El código de Visual Basic de los métodos IsSnapped y IsFilled sería el siguiente:

 

Public Const AnchoSnapped As Double = 750

''' <summary>
''' Simular el modo Filled en Windows 8.1
''' Comprueba si la aplicación está en uno de los costados
''' y el ancho es mayor o igual que <see cref="AnchoSnapped"/> px
''' </summary>
''' <remarks>07/Jul/13</remarks>
Public Shared Function IsFilled() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()
    Dim aWidth = Window.Current.Bounds.Width

    ' Si está acomplado a ambos lados es que es pantalla completa
    ' (esto es así cuando se cambia el tamaño estando acoplado)
    If (aView.AdjacentToLeftDisplayEdge AndAlso aView.AdjacentToRightDisplayEdge) Then
        Return False

    ElseIf (aView.AdjacentToLeftDisplayEdge OrElse aView.AdjacentToRightDisplayEdge) AndAlso
        aWidth >= AnchoSnapped Then

        Return True
    Else
        Return False
    End If
End Function

''' <summary>
''' Simular el modo Snapped en Windows 8.1
''' Si el ancho es menor de <see cref="AnchoSnapped"/> pixels
''' y está en uno de los lados lo considero Snapped
''' </summary>
''' <remarks>06/Jul/13</remarks>
Public Shared Function IsSnapped() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()
    Dim aWidth = Window.Current.Bounds.Width

    ' Amplio las posibilidades comprobando solo si el tamaño es menor de AnchoSnapped
    ' ya que esté o no acoplada, el tamaño y posición del contenido debe adaptarse
    '
    'If (aView.AdjacentToLeftDisplayEdge OrElse aView.AdjacentToRightDisplayEdge) AndAlso
    '    aWidth < AnchoSnapped Then
    If aWidth < AnchoSnapped Then
        Return True
    Else
        Return False
    End If

End Function

 

Un par de cosas que quiero comentarte sobre el código anterior.

La primera es que estoy usando Window.Current.Bounds.Width para saber el ancho de la pantalla, y seguramente dirás que podría usar la propiedad ActualWidth de la ventana principal (no se puede desde este código porque la clase App no se deriva de Page), entre otras cosas porque es la forma que seguramente has podido ver en los ejemplos (para C#) que se incluyen con el SDK de Windows 8.1 Preview. Pero, he de decirte que esa propiedad a mí NUNCA me ha servido, siempre que lo he intentado el valor devuelto es 0.0, así que… he optado por esa otra que sé que funciona.

La segunda es el uso del nuevo método GetForCurrentView de la clase ApplicationView. Ese método devuelve un objeto del tipo ApplicationView que entre otras cosas contiene los dos valores que estoy usando en esas dos funciones: AdjacentToLeftDisplayEdge que nos indica si nuestra aplicación está acoplada a la izquierda de la pantalla, y AdjacentToRightDisplayEdge que como podrás suponer es para saber si la aplicación está acoplada a la derecha.

Tiempos aquéllos en las las funciones tenían unos pocos caracteres… mejor así, sobre todo si sabes algunas palabras de inglés.

Creo que el código no necesita mayor explicación, salvo indicar los cambios realizados en esta versión del lunes 8 de julio:

En el código de la función IsSnapped la he reducido a una simple comprobación de si el ancho de la pantalla es menor del que queremos considerar como "acoplado", en este ejemplo estoy usando el valor de la constante AnchoSnapped que inicialmente la he definido a 750 pixel.

En la función IsFilled ahora compruebo que no esté acoplado a ambos lados, ya que eso supondría que la aplicación está a pantalla completa, por tanto si se cumple la primera comprobación devuelve un valor falso, y por tanto solamente será verdadero cuando esté acoplado a uno de los dos lados y el ancho sea igual o mayor del indicado en AnchoSnapped.

 

Saber si la aplicación está en modo apaisado o vertical

Otras dos funciones que me he fabricado, más que nada para evitar estar repitiendo las definiciones de las llamadas al API de Windows 8.1 Preview (por medio de las clases de .NET Framework), son las que me indican si la aplicación está a pantalla completa y cómo está orientada la tableta o el dispositivo en el que está funcionando.

En la versión actual de Windows 8 esto lo hacíamos mediante los correspondientes valores de la enumeración ApplicationViewState, pero como ya hemos comprobado, se considera obsoleta.

Por ejemplo, para saber si nuestra aplicación estaba en modo de pantalla completa y en horizontal, comprobábamos si el valor de la propiedad Value de ApplicationView era FullScreenLandscape.

Ahora esto se hace comprobando si el valor de IsFullScreen es cierto y además el valor de Orientation es Landscape. Las dos primeras son nuevas propiedades de la clase ApplicationView y el valor de la propiedad Orientation es del tipo enumerado ApplicationViewOrientation.

Una vez dicho esto, podemos comprobar que las dos funciones que me he fabricado lo único que hacen es reducir un poco el código cuando queramos hacer las comprobaciones pertinentes.

Este es el código de Visual Basic de esas dos funciones.

 

''' <summary>
''' Comprobar si la pantalla está en FullScreenPortrait
''' (vertical a pantalla completa)
''' </summary>
''' <remarks>06/Jul/13</remarks>
Public Shared Function IsFullScreenPortrait() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()

    If aView.IsFullScreen AndAlso aView.Orientation = ApplicationViewOrientation.Portrait Then
        Return True
    Else
        Return False
    End If
End Function

''' <summary>
''' Comprobar si la pantalla está en FullScreenLandscape
''' (apaisada a pantalla completa)
''' </summary>
''' <remarks>06/Jul/13</remarks>
Public Shared Function IsFullScreenLandscape() As Boolean
    Dim aView = ApplicationView.GetForCurrentView()

    If aView.IsFullScreen AndAlso aView.Orientation = ApplicationViewOrientation.Landscape The
        Return True
    Else
        Return False
    End If
End Function

 

Te comentaba que en total eran 6 funcionen las que me había fabricado, las otras dos simplemente devuelven un objeto del tipo ApplicationView (el valor devuelto por GetForCurrentView); y la otra función indica el ancho de la pantalla. Pero en el ejemplo que pondré ahora no se utilizan, por tanto, mejor las dejo ahí para otra ocasión.

 

Ejemplo para usar las funciones definidas

Veamos cómo usar estas funciones para adaptar el tamaño, margen, etc. de los controles según nuestra aplicación esté "acoplada" o no.

Este ejemplo es muy simple y sólo tiene dos controles TextBlock con distinto texto, uno servirá para el título y el otro para el texto a mostrar.

El aspecto en modo diseño es el que podemos ver en la figura 5.

 

Screenshot (15)

Figura 5. La página principal en modo diseño

 

Primero definimos los valores de los elementos VisualState, que en el ejemplo que estoy usando serían los indicados en el siguiente código XAML:

 

<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="251*"/>
            <ColumnDefinition Width="640*"/>
            <ColumnDefinition Width="475*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="107*"/>
            <RowDefinition Height="384*"/>
            <RowDefinition Height="277*"/>
        </Grid.RowDefinitions>
        <TextBlock x:Name="txtTitle" Grid.Column="1" Text="El título" FontSize="110" />
        
        <TextBlock x:Name="txtMensaje" Grid.Column="0" Grid.Row="1" 
                   Grid.ColumnSpan="3" Grid.RowSpan="2"
                   VerticalAlignment="Center"
                   FontSize="140" FontWeight="Bold" TextWrapping="WrapWholeWords"
                   Text="El texto que ocupa la pantalla completa con cambio de línea" />

        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="ApplicationViewStates">
                <VisualState x:Name="FullScreenLandscape" />
                <VisualState x:Name="FullScreenPortrait">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtTitle" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="90"/>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtMensaje" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="70"/>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Filled">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtTitle" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="80"/>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtMensaje" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="100"/>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="Snapped">
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtTitle" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="80"/>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtMensaje" Storyboard.TargetProperty="FontSize">
                            <DiscreteObjectKeyFrame KeyTime="0" Value="70"/>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>

        </VisualStateManager.VisualStateGroups>

    </Grid>
</Page>


 

Todo esto lo haremos en el método del evento SizeChanged del control o página/ventana en el que queramos tener estas cosas en cuenta.

 

Private Sub MainPage_SizeChanged(sender As Object, e As SizeChangedEventArgs) Handles Me.SizeChanged
    ' valor predeterminado de visualState                       (08/Jul/13)
    Dim visualState As String = "FullScreenLandscape"

    If App.IsFilled Then
        visualState = "Filled"
    ElseIf App.IsSnapped Then
        visualState = "Snapped"
    ElseIf App.IsFullScreenPortrait Then
        visualState = "FullScreenPortrait"
    Else
        visualState = "FullScreenLandscape"

        ' Si queremos adaptar los tamaños según el ancho
        ' lo podemos hacer aquí\f0
        ' Pero debemos tener en cuenta que el valor asignado en el código XAML
        ' tiene preferencia.
        ' En este ejemplo, esto sólo funciona cuando es FullScreenLandscape
        ' ya que no se asignan valores en el código XAML

        Dim ww = Window.Current.Bounds.Width
        If ww <= 800 Then
            txtTitle.FontSize = 70
            txtMensaje.FontSize = 70
        ElseIf ww <= 1024 Then
            txtTitle.FontSize = 80
            txtMensaje.FontSize = 90
        ElseIf ww < 1366 Then
            txtTitle.FontSize = 100
            txtMensaje.FontSize = 110

        Else
            ' Los valores predeterminados
            txtTitle.FontSize = 110
            txtMensaje.FontSize = 140
        End If

    End If

    ' Utilizar los valores del código XAML indicado al visualState indicado
    VisualStateManager.GoToState(Me, visualState, False)

    ' Si quisiéramos usar valores distintos a los inidcados en el código XAML
    ' tendremos que asignarlos aquí, después de llamar a VisualStateManager.GoToState

End Sub

 

Por favor lee los comentarios del código para que sepas cuando esas asignaciones al tamaño de la fuente del texto funcionan, ya que siempre tendrá preferencia el valor asignado en el código XAML y si queremos que el asignado manualmente sea el que "mande" debemos usar el truco que ahí indico.

 

Bueno, creo que con esto ya está bien para esta primera aproximación sobre los cambios que se incluyen en Windows 8.1 Preview y que los que queremos crear aplicaciones para la Tienda de Windows debemos tener en cuenta.

Hay más cosas, algunas te las contaré y de otras seguramente no te diré ni (las que no haya probado).

 

Espero que te se de utilidad y ya sabes, si quieres invitarme a un café virtual, puedes hacerlo en el botón "Donar" 😉

Gracias (incluso si no me invitas).

 

Nos vemos.

Guillermo

P.S.

Cuando tenga listo el código de C# pondré el proyecto de ejemplo en mi sitio de descargas (downloads) para que puedas verlo con más detalle.

un +1 a quién corresponda (plantillas de VB 12 para la Store)

 

Pues eso… revisando las plantillas que se incluyen en Visual Studio 2013 Preview -versión Professional- que estoy usando en una máquina virtual con Windows 8.1 Preview, he comprobado que está corregido el "fallo" que había en las plantillas de Visual Basic de los proyectos de tipo Grid y Split para la Tienda de Windows y que te comenté por aquí el 28 de Diciembre de 2012 (y no era una inocentada): Las plantillas de Windows Store o la dejadez para con Visual Basic.

En esa ocasión te dije que se hacía una asignación en el método OnLaunched de la clase App que no tenía en cuenta la conversión estricta de código (Option Strict On), y en esta ocasión sí está el código correcto, además usando TryCatch que es lo recomendable en esa asignación (por la comprobación posterior que se hace de si la variable que recibe el objeto tiene un contenido nulo o no).

Screenshot (10.1)

 

También te dije un par de cosas más, pero eso lo han solucionado con otra forma de usar los datos de ejemplo, que en esta ocasión tanto el código de VB como el de C# son similares.

 

Lo dicho… aunque ya les metí caña (en este post de elGuille.info en Facebook) por la falta de ejemplos para Visual Basic en el SDK de Windows 8.1 Preview: Windows 8.1 app samples, en esta ocasión tengo que decirles: ¡gracias por corregir el error!

 

Nos vemos.
Guillermo
P.S.
No sé si es por error o para que parezca que el código de Visual Basic no está convertido desde el de C#, en esta ocasión hay una diferencia de nombre en el método usado para saber si la ventana (de la clase SplitPage) ha cambiado de tamaño (SizeChanged), ya que en Visual Basic se llama Winow_SizeChanged y en C# es: Window_SizeChanged.
Fíjate que en VB es "WINOW" que le falta la letra "D", una tontería, pero… ¡jum! 😉

Windows 8.1 Preview: ¿qué hay de nuevo viejo? (o no)

 

Pues eso… que aún no ha pasado el tiempo de luto (¿un año?) y ya tenemos (o casi) un sucesor de Windows 8.

No voy a entrar en detalles de todo lo nuevo que trae esta nueva versión de Windows 8, porque esto es una nueva versión, no es un "service pack" ni nada que se le parezca, ya que (afortunadamente) hay cambios grandes, o al menos visibles, con respecto a la versión anterior.

Y lo de que no voy a entrar en detalles es porque no te voy a contar todo lo que trae de nuevo esta versión de Windows 8, entre otras cosas, porque no me las se todas, así que… te voy a contar las que ayer anteayer estuve trasteando, y para el resto de novedades, ya sabes: ¡busca en la red de redes! pero antes de buscar "a lo loco", te recomiendo que te pases por el blog de mi amiga Pilar, que ella te cuenta con detalle algunas de esas novedades, sobre todo lo referente a algunas de las aplicaciones que se incluyen con este nuevo Windows: el blog de Palel o Palel Blogueando.

 

La pantalla de Inicio (Start)

Lo primero es el cambio de "look" en la pantalla de Inicio (Start), a simple vista podrás comprobar que hay más tamaños para los iconos (tiles), en particular dos, uno de los cuales es como dos de los grandes juntos y el otro tamaño es como la mitad del pequeño.

 

Screenshot (2)
Figura 1. La pantalla de Inicio de Windows 8.1

Y como hay más variedad, ya no tenemos sólo dos opciones para el tamaño, si no que hay cuatro, pero dentro de una opción que te indica que es para "Resize" (me da pereza añadir el español, por eso te diré los nombres en inglés, pero tengo los paquetes de idiomas descargados, pero significa cambiar el tamaño), y una vez elegida esa opción vemos las que nos muestra: Large (grande), Wide (ancho), Medium (mediano) y Small (pequeño). El primero y el último son los dos nuevos.

 

Screenshot (4)
Figura 2. Opciones de tamaño de los iconos

Lo que debes tener en cuenta, tal como pasa ahora con Windows 8, es que si la aplicación no está preparada o diseñada para soportar uno de esos tamaños, no se mostrará en las opciones. Esto es algo que los "developers" debemos tener en cuenta y añadir los tamaños que creamos conveniente que nuestra aplicación necesita para mostrar información en el icono (tile) de la pantalla de Inicio, (de esto seguramente te hablaré en otra ocasión).

 

El escritorio (Desktop)

Antes de seguir con otras cosas nos vamos a ir un momento al escritorio (desktop) para que puedas disfrutar del nuevo botón de inicio… ¡sí! ¡como lo oyes (o lees)! ¡Windows 8.1 Preview tiene un botón de inicio en el escritorio! Y no es broma, mira la figura 3 y verás que es cierto:

 

Screenshot (5.1)
Figura 3. El nuevo botón de inicio en el escritorio

Y no está mal que lo hayan puesto así… a ver, te aclaro, en realidad es igual que la miniatura que muestra en el Windows 8 de ahora, pero ya no hay que buscarla, además de que, tal como veremos en un momento, podemos personalizar la acción que hará cuando lo pulsemos. Ya que si no hacemos nada especial, al pulsar ese botón hará lo mismo que hace en la versión anterior: ir a la pantalla de Inicio (Start). Y en caso de que pulses con el botón secundario del ratón (pa los diestros el botón derecho), se mostrará el mismo menú (o casi) que actualmente se muestra (ver la figura 4).

 

Screenshot (674.1)
Figura 4. Las opciones del menú de inicio en Windows 8.1 Preview

A destacar la opción de apagado del equipo (Shut down).

En un momento veremos que también podemos cambiar las cosas que se mostrarán cuando pulsemos en el botón de inicio desde el escritorio para entrar en la pantalla de Inicio.

 

Personalizar las opciones del escritorio

Seguramente lo más interesante de los cambios realizados al escritorio, es que además de añadir ese botón "permanente" de inicio es que ahora podemos indicar si queremos que sea el escritorio lo primero que veamos cuando iniciemos nuestro equipo, además de qué cosas queremos que se muestren cuando lo pulsemos. No, no está el menú de programas de Windows 7 y anteriores, pero veremos que hay cosas que algunos aceptarán como alternativa.

Para configurar todo esto, pulsa con el botón secundario del ratón (mouse) en la barra de Windows (donde está el botón de inicio) y en el menú despegable selecciona la última opción: Properties (Propiedades), tal como puedes comprobar en la figura 5.

 

Screenshot (8.1)
Figura 5. El menú contextual de la barra de Windows

Esto te mostrará una nueva ventana en la que tenemos una pestaña (tab) que en las versiones anteriores de Windows no existía: Navigation (Navegación), que como podemos ver en la figura 6 hay dos secciones, la que nos interesa es el grupo de abajo: Start screen (pantalla de Inicio), particularmente la primera opción (la que está señalada con la flecha roja): Go to the desktop instead of Start when I sing in (Ir al escritorio en lugar del Inicio cuando inicie sesión).

 

Screenshot (6.1)
Figura 6. Las opciones de navegación (cuando estamos en el escritorio)

Pulsamos en OK (Aceptar) y ya está… la próxima vez que inicies sesión o reinicies o apagues y enciendas el equipo, entrarás directamente en el escritorio. ¿Eres más feliz ahora? 😉

 

Nota:
El resto de opciones de esa ficha creo que se explican por sí solas; de todas formas, puedes probar lo que hace cada una (si es que no te ha quedado suficientemente claro) y comprobarlo por tu cuenta… pero sin riesgo, es decir, ninguna de esas opciones eliminará nada… así que… ¡a trastear!

De todas formas, más abajo te explico un poco la cuarta opción.

 

Déjame el escritorio como estaba (o casi)

Si te fijas en el grupo de opciones que está arriba (figura 6), las dos primeras son para evitar algunas de las novedades que incluye Windows 8, que según parece a mucha gente le irritaba eso de que mostrase el panel (charm) al mover el "mouse" por las esquinas de la pantalla.

 

El contenido del escritorio como menú

Por cierto, aunque esto no es algo nuevo en Windows 8.1 Preview, ya que está también en Windows 8 y puede que en las versiones anteriores, pero yo nunca lo he usado ni me he interesado en ello si alguna vez lo he visto, y sigue sin interesarme, pero como me he "percatado" y al usarlo parecía como un menú de esos que tanta gente echaba en falta en Windows 8, pues… aquí te lo cuento, por si a ti sí que te interesa… vale, me callo, al tema: es que en la barra de tareas del escritorio puedes tener un menú con todo el contenido del escritorio (ver la figura 7).

 

Screenshot (7.1)
Figura 7. El escritorio como barra de herramientas

Esa barra de herramientas (toolbar) la puedes mostrar desde la ficha Toolbars (ver la figura 6) o en la opción Toolbars cuando pulsas para mostrar el menú emergente en la barra de Windows (figura 5). De nada.

 

No es lo mismo, pero…

Y para finalizar esto que te estoy contando vamos a ver cómo conseguir que la pantalla de Inicio se parezca (por decir algo) a lo que el menú de inicio era en las versiones anteriores.

En las opciones de navegación del escritorio (ver la figura 6), si seleccionas (marcas) la cuarta opción del grupo Start screen: Show the Apps view automatically when I go to Start (muestra la vista de aplicaciones cuando voy a Inicio), cada vez que vayas a (la pantalla de) Inicio se mostrarán las aplicaciones de la misma forma que cuando pulsas en la nueva "flechita" que se muestra en el menú, perdón, la pantalla de Inicio y que es la que sustituye a la opción All apps (todas las aplicaciones) de la versión anterior.

Y si además, en la ficha Navigation (ver fig 6), seleccionas la opción List desktop apps first in the Apps view when it’s sorted by category (muestra primero las aplicaciones para escritorio en la vista de aplicaciones cuando esté ordenado por categorías) cuando entres en la pantalla de Inicio tendrás más a mano las aplicaciones específicas del escritorio.

En la figura 8 tienes una captura de cómo se ve ese "nuevo" Inicio con estas opciones que ahora ofrece Windows 8.1 Preview.

Screenshot (9)
Figura 8. De esta forma puedes mostrar la pantalla de Inicio cuando pases a ella desde el escritorio

 

 

Espero que te haya sido de utilidad… ¡esa es la intención! y si además le das al botón "Donar" y me invitas a un cafelillo virtual (mejor con algún dulce sin azúcar que lo acompañe), entonces… ¡habré triunfao! 😉

 

Nos vemos.
Guillermo

P.S.
¿Te apuestas algo a que nadie me invita a un café donado! 😛

zooming en Nerja (otras opciones del RetoZooming)

 

Por si has llegado aquí sin saber de qué va esto de zooming, mejor te lees la entrada principal en la que comento el porqué un par de estas fotos tienen el efecto raro ese que parece que es porque la foto está "tulbia" que diría alguna gente de mi pueblo (y alrededores):

zumo, zum, zoom, zooming #RetoZumming

 

Antes de nada, una advertencia:
Estas fotografías (y todas las que yo publico) no se pueden usar de forma comercial, es decir, ni debes comerciar con ellas, ni usarla en algún blog, sitio Web o cualquier otro medio (el que sea), ya sea para uso particular o comercial sin la correspondiente autorización por mi parte (o alguien que yo designe para esa autorización).
Seguramente no pondré ningún impedimento, pero por favor, pregúntame antes. Gracias.
Aquí te dejo mi correo: en el asunto escribe algo que me indique que es para autorizar el uso de alguna de mis fotos (es que recibo muchos mensajes a diario). Gracias.
 
mensaje_elguille.info

 

Estas son las dos fotos que también podría haber usado en el reto número 38 de la Familia Fotera.

Pulsa en cualquiera de las fotos para verla en grande (tamaño original)

 

DSC_6138_lr
Foto 1: El Balcón de Europa
miércoles, 3 de julio 2013, 16:07:32

 

DSC_6139_lr
Foto 2: El campanario de la iglesia, el árbol Cerote y la Cuesta del Cielo
miércoles, 3 de julio 2013, 16:08:06

 

Y si tanto efecto zooming te molesta, aquí tienes esa misma vista, pero en normal, en realidad no son las mismas fotos, ya que el efecto de barrido está hecho a la hora de tomar las fotos, pero si son un par de vistas tomadas en el mismo momento, además, como quería oscurecer un poco el día (en el 3 de julio es algo complicado), utilicé un filtro polarizador, y por eso aunque las dos fotos son "iguales" parecen muy distintas… en una le di preferencia al cielo y en la otra no.

Ninguna de las dos fotos tiene el color modificado, salvo por lo que pueda modificar el filtro utilizado:
Filtro HOYA  de 67mm SUPER CIR-PL

 

DSC_6151_lr
Foto 3: El Balcón de Europa
miércoles, 3 de julio 2013, 16:12:46

 

DSC_6152_lr
Foto 4: El Balcón de Europa
miércoles, 3 de julio 2013, 16:12:54

 

Los datos técnicos de las fotos son:

Todas:
Nikon D80 con objetivo AF-S Nikkor 18-135 1:3.5-5.6 G ED
Posición de disparo manual (M)
Filtro polarizante (o polarizador)
ISO-100, f/6.3

Fotos 1 y 2:
1/100s, 135mm (eq. 202 en 35)
El zoom está tomado desde 135 a menos, pero no sé cuánto menos).
La foto 1 está un poco recortada en el editor para quitar un edificio que salía a la izquierda (a la derecha estaba complicado), pero la segunda no está recortada.

Fotos 3 y 4:
1/125s, 22mm (eq. 33 en 35)
Las dos fotos están un poco recortadas en edición e intentando que mostrasen lo mismo.

Como ya te comenté antes las fotos utilizan un filtro para polarizar la luz, en las dos primeras fotos simplemente lo utilicé para que entrase menos luz y no me fijé en cómo estaba orientado.
En las dos últimas la posición del filtro es intencionado, en la tercera para que el cielo se oscureciera y de camino quitase reflejos al agua, y en la cuarta, al revés, quería que el efecto se notase en el agua, y como ves, en el cielo parece que han desaparecido las nubes… o casi…
Es que no he utilizado mucho el filtro este, creo que serán las primeras fotos que hago con él, salvo las que tomara cuando lo compré, pero al tenerlo guardado "aparte" del resto del equipo, seguramente las veces que lo hubiese querido utilizar… simplemente no lo tenía a mano… ¡suele ocurrir! :/

 

Pues nada más… tengo unas fotos más, pero son parecidas a las dos últimas (seguramente las publicaré en mi muro de feisbú) y otra de una roca con el fondo arenoso (había unos niños nadando por allí que no he sacado, pero no les cubría el agua más de medio cuerpo).
Vale, la pongo… ¡ojú! 😉

DSC_6149_lr
Foto 5. Una roca
miércoles, 3 de julio 2013, 16:11:22

Esa roca está justo debajo de donde yo estaba tomando la foto…

 

Nos vemos.
Guillermo

zumo, zum, zoom, zooming… #RetoZooming

 

Pues eso… esta es mi foto para el actual de los retos de la Familia Fotera, en esta ocasión el reto es el número 38: Reto Zooming, es decir hacer / mostrar un efecto de cambio de focal en la foto.

Ese efecto se puede hacer a la hora de tomar la foto o bien usando algunos de los programas de edición. En mi caso, la idea inicial era hacerlo con la cámara, pero he acabado haciéndolo con el programa Picasa de Google (el usado para publicar en Picasa Web o al menos así era antes de Google+ y la verdad es que ni lo he comprobado si sigue siendo obligatorio… lo mismo ni siquiera antes era "obligatorio" usar este programa, pero ese es otro tema o debate), casi de casualidad, porque la verdad es que no soy de hacer efectos a las fotos y desconocía que tuviera esa opción de zooming, pero sí, la tiene y la he usado.

Aquí te pongo la foto y después te cuento más cosas:

DSC_6155_zooming_picasa
Pulsa en la foto para verla en grande

 

Puedes ver las fotos de los demás participantes siguiendo este enlace.

Y si quieres participar en los próximos retos, entra en la página en Facebook de los Retos de la Familia Fotera y ahí podrás enterarte de todo.

 

Los datos técnicos de la foto son:
ISO-400, 1/10s, f/5.6, 135mm (eq. 202 en 35)
Nikon D80 con AF-S Nikkor 18-135 1:3.5-5.6 G ED (el objetivo que incluía el kit cuando la compré en el año 2007, el auto-regalo de reyes/navidad)
Tomada (la foto) a las 16.58 de hoy miércoles 3 de julio de 2013.
El zumo es de los que venden en el Lidl (normalmente tomo de Don Simón 100%, pero no me quedaba)
( el zumo me lo acabé esta mañana, pero guardé el cartón, ahora está reciclado o vías de… 😉 )

 

La historia del agüelo (o el por qué se hizo)

¿Por qué he usado el programa Picasa para hacer el efecto zooming?

Porque lamentablemente no he conseguido hacerlo con la cámara, pero esa era la intención.
Pero ni usando un trípode, ni el hecho de usar una velocidad baja me ha permitido hacerla como yo hubiese preferido.

 

¿Había más fotos candidatas?

La cuestión es que un par de horas antes había hecho varias fotos entre las cuales había dos fotografías candidatas para este reto.
En esas dos sí que está realizado el efecto zooming con la cámara, además son fotografías "emblemáticas" de mi querido pueblo (Nerja, en Málaga, Andalucía, España, al sur de la península Ibérica, en Europa, una mititilla más arriba de África): una de ellas el Balcón de Europa y la otra el campanario de "la iglesia del paseo" y el árbol cerote con la Cuesta del Cielo de fondo.

Cualquiera de las dos casi seguro que te gustaría más que esta, pero… ¡es lo que hay!

No, lo que pasa es que me hizo gracia cuando pensé eso de hacer zooming en un bote de zumo, y ya que piensa uno, y además el día antes del reto, pues… no era plan de desperdiciarlo; además, esta mañana fui expresamente a comprar un par de cartulinas (que al final sólo he usado una, y ni se nota), y tampoco era plan de comprarlas para no poder decir en qué la he usado, porque aunque no se vea, estar, estaba, y ella (la cartulina) lo sabe, porque el cartón del zumo ha dejado su marca… aunque aún me puede servir para otra ocasión, al igual que la otra cartulina, que era de otro color diferente, por aquello de probar…

Cuando publique esto en mi blog, te pondré el enlace a las otras dos fotos, a las que añadiré un par de fotos "normales" más… ya que estuve probando con un filtro polarizador, por aquello de usar una velocidad baja y no cerrar demasiado el diafragma que si no, se notan mucho las manchas del sensor de mi Nikon D80, aunque tendría que haber cerrado el diafragma o haber puesto una velocidad más baja (un disparo más rápido) para que se hubiesen visto más nítidas, pero bueno…

 

¡Yasta!

Nos vemos.
Guillermo

P.S.
Glosario del Guille:
mititilla: un poquillo, menos que poco, como una mijilla… 😉