Jul 02

Today, I want to share an exciting news with all of you.

I got a MVP award from Microsoft for my activities on the online community, especially in the Silverlight category. You may find my MVP public profile here.

Frankly speaking, I have never expected my blog will bring me so many excitements. Many people say that I am talented. But I don’t agree on that. I don’t really know everything about Silverlight. I google for Silverlight every day on solving various kind of problems. More importantly, I enjoy sharing.

Anyway, Silverlight 3 is coming very soon. I will continue to devote to the community and share more valuable samples with you.

Microsoft_MVP_logo

Jun 20

After working for one whole day, I have created another 4 image rotators. We have all together 6 image rotators now!

There are namely :

All image rotators are redesigned such that they can be reused easily using XAML. The XAML coding will look like something below:

<shinedraw:SpinRotator x:Name=”Rotator” NumberColumn=”5″ NumberRow=”5″ Width=”550″ Height=”400″ Pause=”4″  >
    <Image Source=”./images/image1.jpg”/>
    <Image Source=”./images/image2.jpg”/>
    <Image Source=”./images/image3.jpg”/>
</shinedraw:SpinRotator>

I will try to release the assembly in these few days. Be patient~

You may now view all the samples via my Silverlight Control Explorer. (Please note that you need Silverlight 3 beta plugin to run the Explorer.)

image

Jun 18

Shine Draw has released more than 60 samples. In order to make all the controls more presentable to all of the developers, I decided to create this Control Explorer.

All of the samples will be reimplemented for the ease of use. Therefore, it will somehow takes me 1 to 2 months before you can see all of the samples here.

Source code is not available yet. Be patient, I will release it very soon.

Enjoy it~

Click here to view Silverlight Control Explorer

Preview

image

Jun 16

You can use this application to share photos that stored in your server with your friends easily. You may now download it to play. Source code is available upon purchase. Only USD $10! 

Online Demo

Click here

Download Application

You may download the Silverlight Application via the link below:

download  Silverlight Photo Explorer 1.0 (77.8 KiB, 308 hits)

Features:

  1. Integrate with PHP to display server side folder structure and image files.
  2. On demand folder listing which enhance your browsing experience.
  3. Thumbnail generators which speed up your loading speed.
  4. Customizable layout and style.

Screenshots:

image

May 13

Hi Guys! I am back. Sorry for disappearing for more than a month. I am busy with one of my personal project Pencake Free Ecard. You may use the application I build using Flash to Create your own Ecard. Take a look, I believe you will be interested on that.

Anyway, today I will bring you a 3D Image Slideshow using the perspective 3d technology in both Flash and Silverlight. Implementing this effect in the past is not that easy. However, thanks for the advancement of the technology, you may now create it on the fly.

Images used inside the applications are all collected from Pencake Ecard Website.

Vote for this sample

Flash is Better? (137 votes)
Silverlight is Better! (298 votes)

Comparison

Flash implementation: 1 hour

Silverlight implementation: 40 minutes (Implemented First)

What’s the difference:

  • DisplayObject.z vs PlaneProjection.LocalOffsetZ / GlobalOffsetZ

Source codes

 

Flash

Silverlight

Flash: DisplayObject.z vs

In Flash, you may use the z property to modify the Z position of an object. However, setting the z property doesn’t mean that the objects will be sorted by the z value. The display order of the UI objects are still governed by the item added order. This is a big issue since you will have no idea which object should be on top after applying rotationX, rotationY or rotationZ.

You will find that I have done some simple hacking in my code to solve out the z-index problem.

Actually, I don’t fully understand the mechanism of perspective 3D in Flash. May be there are some solutions that could help us to solve out the sorting problem.

Silverlight: PlaneProjection.LocalOffsetZ / GlobalOffsetZ

Silverlight seems to have a more powerful perspective 3D capability. Firstly, items applied with perspective 3D will be sorted automatically. We don’t really have to do any calculations. Sorting is done perfectly even we have applied RotationX, RotationY or RotationZ properties.

Secondly, Silverlight provides two properties LocalOffsetZ and GlobalOffsetZ for us to set the z position of an object. This is very useful since it allows us to rotate an object with respect to another origin defined by the GlobalOffsetZ, GlobalOffsetX and GlobalOffsetY. Unlike Flash, it can only rotate with respect to a fixed origin. But of course, we could still solve this problem in Flash by some nested children method.

// C#
// create a new projection
PlaneProjection planeProjection = new PlaneProjection();

// create a new image
Image image = new Image();
image1.Source = new BitmapImage(new Uri("image_path.jpg", UriKind.Relative));
image1.Projection = planeProjection;

// rotate 90 degree with respect to the center of an image
planeProjection.RotationY = 90;

// rotate 90 degree with respect to the origin which has z value of 100 behind the image
planeProjection.RotationY = 90;
planeProjection.GlobalOffsetZ = -100;
planeProjection.LocalOffsetZ = 100;