|
4-11-03
Image Spinner by
Erick Tejkowsi
One of the most frequently asked questions among REALbasic lists is "How do I rotate an image?"
This week we'll show you how to quickly and easily rotate an image in realtime. The REALbasic
Group2D class simplifies matters significantly for us. By dragging a few items to your interface and adding a
bit of code, you'll be spinning in no time.
Build the Interface
Launch REALbasic and add a Canvas, a PushButton, and a Slider control to the Window1 interface. Set the maximum value of the slider
to 6283. Since one complete rotation around a circle is approximately 6.283 radians, we'll use the larger value of 6283 to insure
fine resolution upon rotation. Next, click on the slider to select it and uncheck its Enabled property in the Properties window.
Then, add an image file to your project. I snagged a photo of Michael Coyle, ResEx' own top dog.
His image accompanies the source code download at the end of this tutorial. The final interface looks like this:
Add the Code
Double-click PushButton1 and add the following code to its Action event.
Dim px as PixmapShape
Dim p as Picture
px=New PixmapShape(coyle)
p=New Picture(coyle.width,coyle.height,32)
d=New Group2D
d.append(px)
Canvas1.Backdrop=p
Canvas1.backdrop.Objects=d
canvas1.Refresh
slider1.enabled = TRUE
Next, add this code to the Paint event of Canvas1.
g.clearRect 0,0,me.width,me.height
g.drawobject d,47,60
With the Window1 code editor opened, create a new property of that window, by choosing Edit-New Property.
Name the property like this: d as Group2D
Conclusion
Choose Debug-Run to see your work. By drawing an image using a Group2D object, you can a number of important image operations.
The speed isn't as fast as an RGBSurface, but for many tasks its perfectly suitable.
You can download the completed project for this week here.
See you next week!
4-9-03
REALbasic News
by Erick Tejkowsi
XFile module
Thomas Reed has posted XFile module,
a module for working with long file names on HFS+ volumes.
SMTPSocket Example
Will Leshner has created an
SMTPSocket Example
for use with REALbasic 5. It shows you how to attach any file to an email and send it.
Zip Archives
Thomas Tempelmann has posted a set of classes to read and write Zip archives,
such as those understood by ZipIt, Stuffit Expander,
WinZip, PKZip, Info-Zip and many more.
It is open source, yet he asks for a donation if you
make use of his code.
HMProgressBar
Domain Softworx announced the release of
HMProgressBar for REALbasic.
HMProgressBar is a ProgressBar subclass. "HM" stands for "Higher Maximum".
Instead of 65536, the maximum value of an HMProgressBar is 2 to the 1024th power,
also known as the maximum value of a double in REALbasic.
It also allows for fractional/double-precision values to be used as the Maximum and Value properties.
HMProgressBar is free and open-source.
Whiplash - Frenetic 3D action
Lars Jensen has posted a pre-release version of his REALbasic-made game
called Whiplash - Frenetic 3D action.
In it, you drive a souped-up hovercraft around a large arena against a similarly
equipped opponent. Cool!
|