Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
102 user(s) are online (60 user(s) are browsing Forums)

Members: 3
Guests: 99

trixie, skynet, afxgroup, more...

Headlines

Forum Index


Board index » All Posts (Wanderer)




Re: Icon Wunschkonzert - AISS Edition
Just popping in
Just popping in


I almost finished the Library. I will call it "toolbar.library", unless Mason likes it and allows it to call aiss.library.

As a side effect, it can not only load AISS images, also any kind of images (like JPEG, PNG, GIF, IFF, BMP etc.) and Icons, scale them and display them or provide access to the ARGB Bitmap.
It can also do some postprocessing, like adding a shadow or Glow-Effect (in any color).

The interface works like this:

aissbutton aiss_Open("TBImages:cut",width,height);
aiss_Blit(button,state,x,y,RastPort);
aiss_Close(button);


You can query information or apply effects with

aiss_DoMethod(button,state,taglist);


wheras

taglist[].ti_Tag can be...
// states
STATE_NORMAL       0
STATE_SELECTED     
1
STATE_GHOSTED      
2

// apply methods
AISSM_CONTRAST     = (AISSTAG_BASE 100)    ; -255..+256 contrast change
AISSM_ADDSHADDOW   
= (AISSTAG_BASE 101)    ; 0..255 strength
AISSM_ADDGLOW      
= (AISSTAG_BASE 102)    ; RGB Glow Color
AISSM_TINT         
= (AISSTAG_BASE 103)    ; RGB Tint Color
AISSM_EMBROSS      
= (AISSTAG_BASE 104)    ; 0..255 Embros effect
AISSM_SATURATION   
= (AISSTAG_BASE 105)    ; -255...255 boost or fade colors 
AISSM_SHARPEN      
= (AISSTAG_BASE 106)    ; -255..255 Sharpen/Blur the image
AISSM_RESIZE       
= (AISSTAG_BASE 107)    ; change the image size without rescalinge.gadd 3 pixels border for glow
AISSM_RESCALE      
= (AISSTAG_BASE 108)    ; rescale image smaller or larger
 
// query attributes
AISSA_ARGBBITMAP   = (AISSTAG_BASE 200) ; get the ARGB BitMap
AISSA_MASK         
= (AISSTAG_BASE 201) ; get the 1bit Mask (for <256 color blitting)
AISSA_WIDTH        = (AISSTAG_BASE 203) ; get the width in pixel
AISSA_HEIGHT       
= (AISSTAG_BASE 204) ; get the height in pixel
AISSA_NAME         
= (AISSTAG_BASE 205) ; get the name as a string

e.g.

aiss_DoMethod(button,STATE_GHOSTED,Tags(AISSM_SATURATION,-128));

would fade the ghosted image 50% grey.

aiss_DoMethod(button,STATE_SELECTED,Tags(AISSM_RESIZE,32|(32<<16),AISSM_ADDGLOW,0xFFEE55));

would resize the image to 32/32 and add a yellowish glow effect to the selected image.

Does that sound cool or do you have any suggestions/wishes?


Edited by Wanderer on 2008/9/25 20:51:55
Edited by Wanderer on 2008/9/25 20:54:07
Edited by Wanderer on 2008/9/25 20:57:13
Edited by Wanderer on 2008/9/25 20:58:32
Edited by Wanderer on 2008/9/25 21:00:33
Edited by Wanderer on 2008/9/25 21:20:47
Go to top


Re: Icon Wunschkonzert - AISS Edition
Just popping in
Just popping in


@Mason

I can easily do an aiss.library, that loads, caches, resizes and adds glow-effect (or alternative, configurable effects) on-the-fly. The ghosted effect could be added on-the-fly as well. Might be even faster than loading the 2 additional images.
There are plenty of functions for this in AmiBlitz3.
It will also fix the problem of loading ARGB images on OS3.x, since there the datatype doesn't support this.

The shadow is a problem for Glow Effect indeed, unless I make pure Black "non-glowing". It would be better to have no shadow though, and calculate the shadow on-the-fly as well. (strength and distance could be configurable as well).

Plus, the whole stuff can get "stamped" into different Button-Sytles, like Aqua Bubble etc.

I dont know if such a library is in the interesst of Mason, I dont want to hijack the name "aiss.library". So what do you think about that? Your images would serve then as "raw-material" that gets finalized on demand.

Go to top


Re: Icon Wunschkonzert - AISS Edition
Just popping in
Just popping in


@centaurz

> using ReAction's bitmap.image, for example.

A bitmap or an image?
There are two structures in AmigaOS, or is it something different?

Is it ok to deliver three ARGB AmigaOS "BitMap"s for the three States (normal, selected, ghosted)?
Or would be an ARGB PixelArray or an "screen friendly" bitmap and an alpha pixelarray better?

In my Toolkit (tui.include) I will probably just add an "AISS -Button" that handles all the stuff.

Go to top


Re: Icon Wunschkonzert - AISS Edition
Just popping in
Just popping in


@Mason

Quote:

Please note: AISS is just an environment to store and maintain images. There is no program code added - just the environment to access the images will be set up.

I know. But you did something that the same assign can access two different directories. OR what is the AISS program doing in the WBStartup?
I thought you added some kind of handler, who transparently selects the correct image. That handler could also create the images in the correct size on demand, just like opening a font.
But I think it is just a double assign...

Quote:

I do not like the idea of image scaling. The main point is not the quality of the images, but the quality of the expression. You have to reduce the details of the big images to a minimum as they will look bad in scaled down versions of the icon.

I know, it is hard for the artist to watch the painted details getting trashed. But from the user/app-developer point of view this is really handy. E.g. if you have a listview, the size of the images should depend on the size of the font. If the fontsize doesnt match the size of the icons, it looks very ugly or is wasting space.

Maybe I should write an aiss.library.
Doing something this:

AISS *img = aiss_Open("save",16,16);
BitMap *bmap = aiss_GetBitMap(img,state);
aiss_Blit(img,x,y,state);

I could do that quite fast. (68K)
If people are interessted, they can port it to C.
If I have time, I could port it to C as well, but I have all the code in AB3 and time is so precious...

P.S.: how do other developers need access to the image?
Is an ARGB bitmap ok?

Quote:

That's because they have no 'hard' border.

Yes and no. They have to hard border, which is ok for me, but some look a little bit over-anti-aliased.

I also agree that it is hard to reflect a selected state in the image, other than changing the color.
Therfore, the idea with the background would be really good. You can also offer different styles, Aqua-round, rectangle, simple etc.
The composing process could also be integrated in the aiss.library.

Quote:

Wow that's the biggest amount of magnifier glasses..

Yes, but you need them if X/Y can be zoomed individually, plus "fitting" button.

I like the idea with the bubble image too, especially because they can make the buttons "physically" bigger.

As stated above, the bubble should clearly indicate the state, e.g. by changing the whole color from neutral to red, blue or something.
Different styles would be cool.


Edited by Wanderer on 2008/9/20 14:11:33
Go to top


Re: Icon Wunschkonzert - AISS Edition
Just popping in
Just popping in


@Mason

Here is an example of the scaling alogrithm.
I used it on various Icons. They are not really painted scaling friendly, too much 1-Pixel Details, but it makes clear what the algorithm can do.

Resized Image

If you take a look:

a) no interpolation keeps the colors correct (black text stays black) and doesn't blur. But it looses Details (see the "T" in the "Text") and causes ugly aliasing (see the round explorer logo get scrambled).

c) this is what ArtEffect4 would do.
There is no aliasing, and round things stay round. But it doesnt keep the colors right (black Text gets grey) and get sometimes very blurred, e.g. the "Trashcan".

b) Well, that's my algorithm. Doesn't blur, and doesnt loose details. It is based on window interpolation, but doesnt mix all pixels in the window equally. Pixels that will give a higher contrast compared to the neighbour pixels are weighter higher.

Go to top


Re: Icon Wunschkonzert - AISS Edition
Just popping in
Just popping in


Let me join the Wunschkonzert.

I just made HD-Rec capable of using AISS images.

The result is a bit dissapointing.
Resized Image
Fullscreen: http://hd-rec.de/pics/HD-Rec_AISS1_ex.jpg

I have a couple of suggestions for AISS:
1. The images are rather small.
A scaling solution would be really handy, would also make listview-images obsolete, since you could use any image in small size
I can offer an algorithm to scale GUI-Image-friendly and prepare an example preview if you are interested.

2. For being painted 1:1, they seem to be a bit blurry to me, see the comparism on the image above with the original HD-Rec images.

3. They are also quite pale for my taste, they could need a bit more contrast.

4. The selected state is almost no difference in many of the images, at least the ones I tried. E.g. see the tool bar in the notator window, it is impossible to see which tool is activated.

5. Missing images
For HD-Rec, I would need a couple of images more.
Best is if you would install it and check.
Most missing is something for the waveeditor, the notes, solo/mute buttons for the mixer.

6. The tape-play images are not clear enough for my tast. Compare them with HD-Rec tape-play images.

7. If you have buttons which are very likely to be placed together, like zoom in, zoom out and zoom fit, it is too much to have multiple magnifiers glasses. Looks kind of strings, see the right/bottom edges of HD-Recs windows.

In HD-Rec, I will also add the functionality to "stamp" the images onto a blank button, like Aqua oder simple rectangle. Maybe this could also be an idea for AISS.

Go to top



TopTop
« 1 ... 3 4 5 (6)




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project