public override void drawOnImage(ref Image image, BoundingBox boundingBox) { BitmapDecal decal; if (!BitmapDecalCache.Instance.decals.TryGetValue(_url, out decal)) return; Image decalImage = new Image(decal.image); decalImage.scaleAlpha(_alpha); decalImage.rotateImage(_rotation); if (_mirror) decalImage.flipHorizontally(); image.blendImage(decalImage, _blendMethod, _position, _alphaOption, _textureAlpha, boundingBox); }
public override void drawOnImage(ref Image image, BoundingBox boundingBox) { BitmapDecal decal; if (!BitmapDecalCache.Instance.decals.TryGetValue(_url, out decal)) return; Image decalImage = new Image(decal.image); Color32 color = new Color32(_red, _green, _blue, _alpha); decalImage.recolor(Global.Black32, color, false, true); decalImage.rotateImage(_rotation); if (_mirror) decalImage.flipHorizontally(); image.blendImage(decalImage, _blendMethod, _position, _alphaOption, _textureAlpha, boundingBox); }
protected void drawDecalOnImage(ref Image image, ref Image normalMap, string _url, BoundingBox boundingBox) { BitmapDecal decal; if (!BitmapDecalCache.Instance.decals.TryGetValue(_url, out decal)) return; drawOnImage(ref image, boundingBox); if (_normalOption == NormalOption.USE_BACKGROUND) return; Image backgroundImage = new Image(normalMap.width, normalMap.height); Color32 backgroudColor = new Color32(127, 127, 127, 0); backgroundImage.fill(backgroudColor); Color32 color = Global.Gray32; if (_normalOption == NormalOption.RAISE_TEXT) color = Global.White32; if (_normalOption == NormalOption.LOWER_TEXT) color = Global.Black32; Image decalImage = new Image(decal.image); decalImage.recolor(Global.Black32, color, false, true); decalImage.rotateImage(_rotation); if (_mirror) decalImage.flipHorizontally(); backgroundImage.blendImage(decalImage, BlendMethod.PIXEL, _position, AlphaOption.OVERWRITE, 255, boundingBox); Image normalMapImage = backgroundImage.createNormalMap(_normalScale); if (image.width == normalMap.width && image.height == normalMap.height) normalMap.rescale(image.width, image.height); normalMap.overlay(normalMapImage, backgroundImage, 128, boundingBox); }