|
SWiSH Forum Forum użytkowników programów SWiSH |
|
Skrypty do programu SWiSH2 i SWISHmax - Wczytywany obrazek do kontenera skalowany na wysokość
psychol - Sob 06 Sie, 2011 21:03 Temat postu: Wczytywany obrazek do kontenera skalowany na wysokość Witam tak jak w opisie. Próbowałem zrobić tak by obrazek wczytywany do kontenera jpgpoziom był skalowany tylko na wysokość i odpowiednio dobierał szerokość. Efekt nie do końca udany, mam w pliku obrazek(mega duży) jest poszatkowany pomimo jego dużej rozdzielczości. Jest na to jakaś rada ?
Kod mam taki
Kod: |
onSelfEvent (load) {
jpgpoziom.loadMovie("1.jpg")
jpgpoziom._height=100
jpgpoziom._width=100
;
}
|
Pozdrawiam
Januszr - Nie 07 Sie, 2011 17:22
Najpierw ładuj. Czyli np. na pierwszej klatce użyj loadMovie - z parametrami jak zrobiłeś.
I jak już załadujesz, to dopiero rób z tym jakieś operacje. Czyli dopiero na kolejnej klatce (znowu: z parametrami jak zrobiłeś) powinno być określone _width i _height.
Napisz czy pomogło
PS. Oczywiście te klatki nie są obligatoryjne. Może być np warunek if loaded to szerokość i wysokość... Ale zasada jest taka, że najpierw ładujemy a potem załadowanym się bawimy
psychol - Nie 07 Sie, 2011 17:46
A powiedz mi jak np zastosować zezwolenie na wygładzanie? chodzi mi właściwie o komendę, bo w przypadku wgranego jpg do animacji można to ustawić w opcjach obrazka a w przypadku ładowanego zewnętrznego jpg jest problem
Januszr - Nie 07 Sie, 2011 18:19
Nie ma "prostego i łatwego" sposobu. Większość znanych rozwiązań polega na skopiowaniu obrazu przez skrypt i wyświetlenie go w jakości określonej skryptem.
Proste i łatwe obejście: ładuj swfy, w których nadasz obrazkom allowsmoothing.
Kod wygląda mniej więcej tak:
Kod: | function myCopy(pic) {
// create mc to draw to
var mc = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
// bitmap info
var bmp = new flash.display.BitmapData(loadListener.myWidth, loadListener.myHeight, true, 0xFFFFFF);
// draw image to canvas
bmp.draw(pic);
this.picparent.container.attachBitmap(bmp,0,null,true);
//just to test add a slight rotation - comment out
this.picparent._rotation = -10;
}
// create the movieclips
// first the temporary mc where you load the initial image
this.createEmptyMovieClip('temploader', this.getNextHighestDepth());
// then a movieclip where you'll create your canvas
this.createEmptyMovieClip('picparent', this.getNextHighestDepth());
// finally the actual movieclip where your image will get drawn
picparent.createEmptyMovieClip('container', this.getNextHighestDepth());
var loadListener:Object = new Object();
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);
loadListener.onLoadStart = function(target_mc:MovieClip):Void {
// make the temporay mc invisible
target_mc._alpha=0;
}
loadListener.onLoadInit = function(target_mc:MovieClip):Void {
// get the image dimensions
this.myWidth = target_mc._width;
this.myHeight = target_mc._height;
// when the image is fully loaded copy it with smoothing to the final container
myCopy(temploader);
};
function preload(myClip) {
//loding fumction
mcLoader.loadClip(myClip,temploader);
}
//Start loading your image
preload("mj.png"); |
Ale ja już nie będę się tym bawił charytatywnie
[ Dodano: Nie 07 Sie, 2011 19:21 ]
Nie napisałeś czy działa.
psychol - Nie 07 Sie, 2011 18:35
nie dział bo dopiero to robię. Jak tylko zrobię dam znać
Co do drugiego to wiem, że to nie koncert życzeń ale i tak dziękuje za to co jest przynajmniej wiem gdzie zacząć. Szukałem tego długo i wszytko co widziałem do tej pory to był znienawidzony przez mnie adobe flasch (sięgam tylko w ostateczności po niego)
Jak uporam się z pierwszym zajmę się drugim i umieszczę ewentualny wynik ( jak będzie co Ps gdzie ci piwo postawić i ewentualnie jak mam jakieś swoje rozwiązania które mogą się komuś przydać to gdzie je wklejać dla potomności (nie należę do takich co chomikują rozwiązania dla siebie )
Januszr - Nie 07 Sie, 2011 20:31
Zobacz, czy taki smooth może być...
psychol - Pon 15 Sie, 2011 18:05
Witam trochę ostatnio pochorowałem się dlatego się nie odzywam jak tylko dojdę do siebie to napisze jaki dało to efekt
|
|