Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Adobe Animate Canvas import external image

New Here ,
May 12, 2022 May 12, 2022

this might be a silly question: I am using animate CC image component (canvas) html5 to pull in external images "multiple" images if there is another way I would like to find out. the component doesnt allow "scale" in proportion. I have images that are horizonal & verical and I need all the images to scale proportionally.. is there a better way to do this with code. see attached for screenshot. just an example i need all the same size containers but I need the images to be scaled down proportionally. verically and vertically and aligned to fit with the white box areaScreen Shot 2022-05-12 at 2.28.35 PM.png

410
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 12, 2022 May 12, 2022

Hi.

 

I think it's best to not use the image component in this situation because you may have problem with position and z index. It's better to use a manifest, PreloadJS and some grid math.
 
Preview:
 
JS code:
var root = this;
var container = root.container;
var offsetX = 10;
var offsetY = 10;
var columns = 6;
var imagePrefix = "image";
var queue;

var manifest =
[
	{id: "image0", src:"https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072821__340.jpg"},
	{id: "image1", src:"https://cdn.pixabay.com/photo/2014/02/27/16/10/tree-276014__340.jpg"},
	{id: "image2", src:"https://cdn.pixabay.com/photo/2015/06/19/21/24/avenue-815297__340.jpg"},
	{id: "image3", src:"https://cdn.pixabay.com/photo/2021/08/25/20/42/field-6574455__340.jpg"},
	{id: "image4", src:"https://cdn.pixabay.com/photo/2017/12/15/13/51/polynesia-3021072__340.jpg"},
	{id: "image5", src:"https://cdn.pixabay.com/photo/2021/08/28/19/13/wheat-field-6581723__480.jpg"},
	{id: "image6", src:"https://cdn.pixabay.com/photo/2017/10/10/07/48/hills-2836301__340.jpg"},
	{id: "image7", src:"https://cdn.pixabay.com/photo/2015/11/16/16/28/bird-1045954__480.jpg"},
	{id: "image8", src:"https://cdn.pixabay.com/photo/2016/08/11/23/48/mountains-1587287__480.jpg"},
	{id: "image9", src:"https://cdn.pixabay.com/photo/2016/05/24/16/48/mountains-1412683__480.png"},
	{id: "image10", src:"https://cdn.pixabay.com/photo/2021/07/19/22/07/mountains-6479150__480.jpg"},
	{id: "image11", src:"https://cdn.pixabay.com/photo/2018/11/17/22/15/trees-3822149__480.jpg"},
	{id: "image12", src:"https://cdn.pixabay.com/photo/2018/01/12/14/24/night-3078326__480.jpg"},
	{id: "image13", src:"https://cdn.pixabay.com/photo/2012/08/06/00/53/bridge-53769__480.jpg"},
	{id: "image14", src:"https://cdn.pixabay.com/photo/2021/11/13/23/06/tree-6792528__480.jpg"},
	{id: "image15", src:"https://cdn.pixabay.com/photo/2016/11/23/13/48/beach-1852945__480.jpg"},
	{id: "image16", src:"https://cdn.pixabay.com/photo/2021/08/18/19/02/trees-6556336__480.jpg"},
	{id: "image17", src:"https://cdn.pixabay.com/photo/2015/07/31/06/50/forest-868715__480.jpg"},
	{id: "image18", src:"https://cdn.pixabay.com/photo/2016/05/02/10/13/ship-1366926__480.jpg"},
	{id: "image19", src:"https://cdn.pixabay.com/photo/2018/08/12/15/29/hintersee-3601004__480.jpg"},
	{id: "image20", src:"https://cdn.pixabay.com/photo/2016/11/08/04/49/jungle-1807476__480.jpg"},
	{id: "image21", src:"https://cdn.pixabay.com/photo/2014/07/16/05/18/beach-394503__480.jpg"},
	{id: "image22", src:"https://cdn.pixabay.com/photo/2017/06/23/17/46/desert-2435404__480.jpg"},
	{id: "image23", src:"https://cdn.pixabay.com/photo/2021/08/23/08/28/path-6567149__480.jpg"}
];

function main()
{
	document.body.style.backgroundColor = lib.properties.color;
	generateGrid();
	queue = new createjs.LoadQueue();
	queue.on("complete", loadComplete, root);
	queue.loadManifest(manifest);
}

function loadComplete()
{
	placeImages();
}

function generateGrid()
{
	var i, thumb, thumbBounds, containerBounds;
	var total = manifest.length;
	
	for (i = 0; i < total; i++)
	{
		thumb = new lib.Thumb();
		thumbBounds = thumb.nominalBounds;
		thumb.x = thumbBounds.width * 0.5 + (i % columns) * (thumbBounds.width + offsetX);
		thumb.y = thumbBounds.height * 0.5 + Math.floor(i / columns) * (thumbBounds.height + offsetY);
		root.container.addChild(thumb);
	}
	
	containerBounds = container.getBounds();
	container.x = (lib.properties.width - (thumb.x + thumbBounds.width * 0.5)) * 0.5;
	container.y = (lib.properties.height - (thumb.y + thumbBounds.height * 0.5)) * 0.5;
}

function placeImages()
{
	var i, thumb, thumbBounds, image, bmp, bmpBounds;
	var total = manifest.length;
	
	for (i = 0; i < total; i++)
	{
		thumb = container.children[i];
		thumbBounds = thumb.nominalBounds;
		image = queue.getResult(imagePrefix + i);
		bmp = new createjs.Bitmap(image);
		bmpBounds = bmp.getBounds();
		
		if (bmpBounds.width > bmpBounds.height)
			bmp.scale = thumbBounds.width / bmpBounds.width;
		else
			bmp.scale = thumbBounds.height / bmpBounds.height;
		
		bmp.x = -bmpBounds.width * 0.5 * bmp.scale;
		bmp.y = -bmpBounds.height * 0.5 * bmp.scale;
		thumb.addChild(bmp);
	}
}

main();
 
Code / source / FLA:
 
I hope it helps.
 
Regards,
JC
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 13, 2022 May 13, 2022
LATEST

Put JoãoCésar on your speed dial. He is really good with code. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines