If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : We have got a new blog where we post some interesting SWF internals info.

#1331 Is there a easier way to set "Allow Smoothing" for bitmap (in Flash Library)?
Author:
RadarNyan

Date created:
Type: question
Visibility: Everybody
Assigned to:
State: closed 

What I want to achieve is to turn on/off "Allow Smoothing" option for bitmap (fo smooth
scaling).
For now, I can decompile the .swf (with JPEXS) to .fla and open it with Flash, open
Library panel, select the bitmap, right click and select property, and finally
check/uncheck "Allow Smoothing" then export a .swf file again. This process is not only
complicate, but also may result in the final .swf being different than the original file
in many ways.
Is it possible to toggle this option without doing the process I descirbed above? I'd like
to keep minimal modification (as less as possible) to the original .swf file.
Please try the following:
- open the swf with FFDec
- select the image
- in the left bottom "Basic tag info" area check the dependent characters field
yout image should be used in a shape tag.
- select the appropriate shape tag (same characterid) in the tag tree which is in the
dependent characters field of the image tag. (probably the first, so if it shows "11, 15,
31"), then you probably have to select the shapes/DefineShapeX (11).
- right click on the shape tag, select raw edit
- find the bitmap fill style in the tree. maybe it is in
shapes/fillstyles/fillstyles/fillstyle[x]
or it can be somewhere in the shapes records, eg: shapes/shaperecords/record[0] (should be
stylechangerecord)/fillstyles/fillstyles/fillstyle[x]
- here you should see a fillstlyetype
- press edit button
- click on the fillstyle type, select the "repeating bitmap" instead of the "non smoothed
repeating bitmap", or select the "clipped bitmap" instead of the "non smoothed clipped
bitmap"
This steps are for version 10.0, in earlier versions you have to specify the number values
for the fillstyletype:
(0 - solid)
(16 - linear gradient)
(18 - radial gradient)
(19 - focal radial gradient)
64 - repeating bitmap
65 - clipped bitmap
66 - non smoothed repeating bitmap
67 - non smoothed clipped bitmap
State: new→upgraded
Well... That is not a easier way, but it sure does what I want. I'd better make some kind
of automation tool to repeat that process.
Is it reliable (guaranteed everything else is not touched) if I do [ffdec.jar -swf2xml] ->
[edit the xml file (basically replace 67 with 65 / 66 with 64 in fillStyleType)] ->
[ffdec.jar -xml2swf]? Or is there any document I can follow?
The most reliable way is the raw editing.
However the xml export/import should be also good. If you find any problem, please report
it, and we will fix it.
But I think the easiest way to do this is using a simple plugin. Do you have a little java
progamming knowledge?
I've created a simple plugin (attached to this post), please try it. You should put it to
the plugins subfolder of the ffdec program's folder.
You can find the source cde of the plugin here:
https://github.com/jindrapetrik/jpexs-decompiler/blob/dev/libsrc/plugins/src/BitmapFillCha
nger.java
If you have Java knowledge feel free to modify it:)
You can use it from command line in with the folowing command:
ffdec.bat -cli yourfile.swf -custom x
The custom parameter is only needed to detect from the pluigin whether it is called from
command line or not (we don't want to execute it when swf is opoened from FFDec GUI). I'll
simplify it, but with the current stable version it is needed.

State: upgraded→closed