I have imported images into my project and when I save the project as xml, all the images are converted to base64. Is it possible to save the project xml files so that it uses relative image references instead of converting the images to base64? The reason why I would like to use image references is because I am saving revisions of the project xml and using relative image references would save disk space.
How can I save projects with relative images instead of base64 images?
No, it is not possible.
If you can host the images somewhere else, you can use the URL block (in Sensing) to load them into your project.
(If you are under 18, you shouldn't use your actual name as your username.)
I was able to use the "costume from url" block from a project the user helicoptur posted in a different thread. Using this, I was able to reduce the size of my Snap project xml from 1016K to 48K. I still have a problem with base64 images when I run the program and then save the state of the program. When my program runs, it draws the costumes on the stage but those turn into base64 images instead of url references.
Is there a way to have the stage not convert the costumes to base64 images?
Is there a way to save the state of the program without the stage so that I can avoid the base64 images in my saved program state?
(Also thanks for looking out in regards to my username. I'm well over 18 years old. I took CS61A 20 years ago when you were teaching it Professor Harvey. I have fond memories of that class. Thank you.)
You could create a save script that deletes all the costumes, which you can run before you hit save.
You're very welcome! Glad you enjoyed it.
If you load all resources dynamically at runtime, you may export the project without media.
export project without media ...
You may use the webp JS mod to save space
Projects saved after this block will have images encoded as a webp and will load into vanilla
For some test images, it was 8x less data.