public static async Task <byte[]> GetImageBytesFast(this HTMLImageElement img, double quality = 1) { if (quality > 1) { throw new ArgumentOutOfRangeException("quality should be equal or less than 1."); } var imgID = img.Id; img.Id = "imgMN"; string URL = Eval( @"(function(){ var MAX_WIDTH = 500; var width = " + img.NaturalWidth + @"; var height = " + img.NaturalHeight + @"; height =height*( MAX_WIDTH / width); width = MAX_WIDTH; var canvas = document.createElement('canvas'); canvas.width = width; canvas.height = height; var ctx = canvas.getContext('2d'); ctx.drawImage(document.getElementById('" + img.Id + @"'),0,0,width,height); return URL.createObjectURL(canvas.toBlob('image/jpeg'," + quality.ToString("#.############") + "));}).call(null);"); img.Id = imgID; using (var WebClient = new HttpClient()) return(await WebClient.GetByteArrayAsync(URL)); }
public static byte[] GetImageBytes(this HTMLImageElement img, double quality = 1) { if (quality > 1) { throw new ArgumentOutOfRangeException("quality should be equal or less than 1."); } var imgID = img.Id; img.Id = "imgMN"; string URL = Eval( @"(function(){ var MAX_WIDTH = 500; var width = " + img.NaturalWidth + @"; var height = " + img.NaturalHeight + @"; height =height*( MAX_WIDTH / width); width = MAX_WIDTH; var canvas = document.createElement('canvas'); canvas.width = width; canvas.height = height; var ctx = canvas.getContext('2d'); ctx.drawImage(document.getElementById('" + img.Id + @"'),0,0, width, height); return canvas.toDataURL('image/jpeg'," + quality.ToString("#.############") + ");}).call(null);"); img.Id = imgID; return(System.Convert.FromBase64String(URL.Substring(23))); }
public HTMLBackground(string url, double opacity, int delay = 3) { background = new HTMLDivElement(); background.Style.ZIndex = "-1"; background.Style.Overflow = Overflow.Hidden; background.Style.Visibility = Visibility.Visible; background.Style.Position = Position.Fixed; background.Style.Top = "0px"; background.Style.Left = "0px"; background.Style.Width = string.Format("{0}px", Window.InnerWidth); background.Style.Height = string.Format("{0}px", Window.InnerHeight); background.Style.Opacity = string.Format("{0}", 0); Document.Body.AppendChild(background); image = new HTMLImageElement(); image.Src = url; image.Style.Position = Position.Relative; background.AppendChild(image); image.OnLoad += delegate { sizeElements(); background.Style.TransitionDuration = string.Format("{0}s", delay); background.Style.Opacity = string.Format("{0}", opacity); }; Window.OnResize += delegate { background.Style.TransitionDuration = string.Format("{0}s", 0); sizeElements(); }; }
public void Draw() { if (_message == "") { return; } int brightness = 0; var levelContext = _core.Layers.GetStageLayer(0).GetContext(); var resolution = _core.Resolution; if (!_resourcePool.Loaded) { levelContext.FillStyle = "rgb(" + (brightness) + "," + (brightness) + "," + (brightness) + ")"; levelContext.FillRect(0, 0, resolution.Width, resolution.Height); // Clear levelContext.FillStyle = "white"; levelContext.Font = resolution.MultiplyClamp(10) + "px Consolas, monospace"; levelContext.FillText("Loading...", resolution.MultiplyClamp(4), resolution.MultiplyClamp(12)); return; } _image = _resourcePool.Images[Image.Background]; levelContext.ClearRect(0, 0, resolution.Width, resolution.Height); if (!_renderedControls) { _core.RenderActions(); _renderedControls = true; } }
public Grass() { _img = new HTMLImageElement() { Src = File }; }
private void _SpriteFont(HTMLImageElement image, int glyphWidth, int glyphHeight, bool xtrim) { HTMLCanvasElement canvas = new HTMLCanvasElement(); canvas.width = (uint)glyphWidth; canvas.height = (uint)glyphHeight; CanvasRenderingContext2D context = canvas.getContext(Literals._2d); for (int i = start; i <= end; i++) { context.clearRect(0, 0, canvas.width, canvas.height); context.drawImage(image, glyphWidth * (i - start), 0, glyphWidth, glyphHeight, 0, 0, glyphWidth, glyphHeight); // Make sure loaded image is large enough // If image is not large enough, generate error glyphs if (image.width >= glyphWidth * (i - start) + glyphWidth) { glyphs[i] = SpriteSheet.AddSpriteFontGlyph(canvas, context, xtrim); } else { glyphs[i] = SpriteSheet.AddSpriteFontGlyph(canvas, context, false); } } canvas.remove(); loaded = true; }
public static HTMLImageElement Image(Attributes init) { var a = new HTMLImageElement(); init?.InitImageElement(a); return(a); }
public Dirt() { _img = new HTMLImageElement() { Src = File }; }
private void _AddSprite(HTMLImageElement image, Sprite sprite, RectangleI?source = null) { RectangleI s = source ?? new RectangleI((int)image.width, (int)image.height); #if DEBUG Point2 offset = GetValidPlacementNaive(s.W, s.H); #else Point2 offset = GetValidPlacement(s.W, s.H); #endif //for (int y = 0; y < s.H; y++) // for (int x = 0; x < s.W; x++) // Bitmap[offset.X + x, offset.Y + y] = spriteData[s.X + x, s.Y + y]; if (Platform.GraphicsBackend == GraphicsBackend.WebGL2) { (Texture as WebGL2.WebGL2Texture).UpdateData(image, offset.X, offset.Y); } else if (Platform.GraphicsBackend == GraphicsBackend.WebGL) { (Texture as WebGL.WebGLTexture).UpdateData(image, offset.X, offset.Y); } sprite.Update(this, offset.X, offset.Y, s.W, s.H); Sprites.Add(sprite); aabbs.Add(new AABBi(sprite.SpriteSheetX, sprite.SpriteSheetY, sprite.Width + padding, sprite.Height + padding)); }
public static void OnLoad() { #if DEBUG Document.GetElementById <HTMLDivElement>("DebugFlag").Hidden = false; #endif topError = Document.GetElementById <HTMLDivElement>("D_JsWarn"); topError.Hidden = true; Document.GetElementById <HTMLParagraphElement>("P_Version").TextContent = "Switch theme injector online - Version : " + AppVersion + " - Core version : " + SwitchThemesCommon.CoreVer; string useragent = Window.Navigator.UserAgent.ToLower(); if (useragent.Contains("msie") || useragent.Contains("trident")) { Document.GetElementById <HTMLDivElement>("D_IeWarn").Hidden = false; } loader = Document.GetElementById <HTMLDivElement>("loaderDiv"); LoaderText = Document.GetElementById <HTMLParagraphElement>("LoadingText"); lblDetected = Document.GetElementById <HTMLParagraphElement>("P_DetectedSZS"); lblDDSPath = Document.GetElementById <HTMLParagraphElement>("P_DDSPath"); lblDDSPath_NX = Document.GetElementById <HTMLParagraphElement>("P_DDSPath2"); LayoutsComboBox = Document.GetElementById <HTMLSelectElement>("LayoutsBox"); LayoutPrevDiv = Document.GetElementById <HTMLDivElement>("PreviewDiv"); LayoutPrevImg = Document.GetElementById <HTMLImageElement>("PreviewImg"); HomePartBox_NX = Document.GetElementById <HTMLSelectElement>("HomePartBox"); LayoutsComboBox_NX = Document.GetElementById <HTMLSelectElement>("LayoutsBox2"); LayoutPrevDiv_NX = Document.GetElementById <HTMLDivElement>("PreviewDiv2"); LayoutPrevImg_NX = Document.GetElementById <HTMLImageElement>("PreviewImg2"); Document.GetElementById <HTMLParagraphElement>("P_PatchList").InnerHTML = SwitchThemesCommon.GeneratePatchListString(DefaultTemplates.templates).Replace("\r\n", "<br />"); LoadCustomLayouts(); }
public Stone() { _img = new HTMLImageElement() { Src = File }; }
public static void Main() { var canvas = (HTMLCanvasElement)Document.GetElementById("scene"); var image = new HTMLImageElement(); image.Src = "/Content/Images/Sprites.png"; image.OnLoad += e => { var renderContext = new RenderContext(canvas, image); var camera = new Camera(new Vector2D(0, 0)); var map = new Map(10, 10, (x, y) => 1); var tileTypeFactory = new TileTypeFactory( new Dictionary <int, TileType> { { 0, new TileType(64, 0, 64, 32) }, { 1, new TileType(0, 0, 64, 32) }, } ); Window.OnLoad = Window.OnResize = ev => { renderContext.ResizeCanvas(Window.InnerWidth, Window.InnerHeight); }; new GameContext(renderContext, map, tileTypeFactory, camera).Start(); }; }
public static TextureInfo Create(WebGLRenderingContext gl, string fileName) { var texture = gl.CreateTexture(); var textureInfo = new TextureInfo( texture: texture, width: Optional <int> .Missing, height: Optional <int> .Missing ); var image = new HTMLImageElement(); image.Src = fileName; image.OnLoad = (ev) => { textureInfo.Width = image.Width; textureInfo.Height = image.Height; gl.BindTexture(gl.TEXTURE_2D, textureInfo.Texture); gl.TexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image); gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); textureInfo.OnLoad?.Invoke(); }; return(textureInfo); }
public WebMapTileImage() { Image = new HTMLImageElement(); Image.OnLoad += (e) => { OnDraw?.Invoke(this, new EventArgs()); }; }
public ValueTask set_domImage(HTMLImageElement value) { __domImage = null; return(EventHorizonBlazorInterop.Set( this.___guid, "domImage", value )); }
public Bitmap(string src, double width, double height) { Image = new HTMLImageElement() { Src = src }; Width = width; Height = height; }
/// <summary> /// Constructor - Loads the image and sets instance variables /// </summary> /// <param name="source">The path to an image file</param> public static void LoadGraphic(string source) { var img = new HTMLImageElement(); img.Style.Visibility = Visibility.Hidden; img.Src = source; Document.Body.AppendChild(img); Graphics.Add(source, img); }
public void loadImage(string url, HTMLImageElement image) { EventHorizonBlazorInterop.Func <CachedEntity>( new object[] { new string[] { this.___guid, "loadImage" }, url, image } ); }
private void _ProcessButtonImage() { if (string.IsNullOrWhiteSpace(_image)) { if (_imageElement != null) { _imageElement.Delete(); _imageElement = null; } } else { if (_imageElement == null) { _imageElement = new HTMLImageElement(); } else { _imageElement.Delete(); } _imageElement.SetImage(_image, !_useBase64Image, false); string padding = _buttonImageSize == 0 ? "16px" : _buttonImageSize.ToPx(); _imageElement.style.height = padding; _imageElement.style.position = "absolute"; _imageElement.style.top = "1px"; if (!_imageRightAlign) { _imageElement.style.backgroundPosition = "left"; _imageElement.style.paddingLeft = padding; _imageElement.style.paddingRight = ""; _imageElement.style.left = "1px"; if (Content.lastChild == null) { Content.appendChild(_imageElement); } else { Content.insertBefore(_imageElement, Content.lastChild); } } else { _imageElement.style.right = "1px"; _imageElement.style.left = ""; _imageElement.style.backgroundPosition = "right"; _imageElement.style.paddingRight = padding; _imageElement.style.paddingLeft = ""; Content.appendChild(_imageElement); } } }
public void HandleLoadedTexture(HTMLImageElement image) { gl.PixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true); gl.BindTexture(gl.TEXTURE_2D, this.texture); gl.TexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image); gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST); gl.GenerateMipmap(gl.TEXTURE_2D); gl.BindTexture(gl.TEXTURE_2D, null); }
static public spriteTexture fromRaw(WebGLRenderingContext webgl, HTMLImageElement img, textureformat format = textureformat.RGBA, bool mipmap = false, bool linear = true) { var st = new spriteTexture(webgl, null, format, mipmap, linear); st.texture = webgl.CreateTexture(); st.img = img; st._loadimg(mipmap, linear); return(st); }
public void texImage2D( int target, int level, int internalformat, int format, int type, HTMLImageElement image) { throw new NotImplementedException(); }
public static Task <HTMLImageElement> LoadImage(string value) { HTMLImageElement image = new HTMLImageElement { Src = value }; var task = new TaskCompletionSource <HTMLImageElement>(); image.OnLoad = e => task.SetResult(image); return(task.Task); }
public void texSubImage2D( int target, int level, double xoffset, double yoffset, int format, int type, HTMLImageElement image) { throw new NotImplementedException(); }
public Player() { _imgPlayer = new HTMLImageElement() { Src = PlayerGraphics }; _imgWeapon = new HTMLImageElement() { Src = WeaponGraphics }; }
public static IActionView <HTMLElement> DefaultExitButtonBuilder() { var result = new InputTypeButtonActionView(""); result.Widget.ClassList.Add(Magics.CssClassDatagridAction); var img = new HTMLImageElement { Src = Magics.IconUrlExit }; result.Widget.AppendChild(img); return(result); }
public void InitTexture() { this.texture = gl.CreateTexture(); var textureImageElement = new HTMLImageElement(); textureImageElement.OnLoad = (ev) => { this.HandleLoadedTexture(textureImageElement); }; textureImageElement.Src = this.textureImageSrc; }
public Sprite AddSprite(string file, RectangleI?source = null) { Sprite sprite = new Sprite(this, 0, 0, 1, 1); // Load image async HTMLImageElement image = new HTMLImageElement(); image.crossOrigin = ""; image.onload = (ev) => { _AddSprite(image, sprite, source); }; image.src = file; return(sprite); }
public static HTMLImageElement LoadImage(string input, HTMLImageElement onLoad, ActionCallback <string, object> onError, IOfflineProvider offlineProvider, string mimeType = null) { return(EventHorizonBlazorInterop.FuncClass <HTMLImageElement>( entity => new HTMLImageElement() { ___guid = entity.___guid }, new object[] { new string[] { "BABYLON", "Tools", "LoadImage" }, input, onLoad, onError, offlineProvider, mimeType } )); }
private void ImageLoad(HTMLImageElement image) { var canvas = new HTMLCanvasElement { Width = image.Width, Height = image.Height }; var context = canvas.GetContext(CanvasTypes.CanvasContext2DType.CanvasRenderingContext2D); context.DrawImage(image, 0, 0); _data = context.GetImageData(0, 0, canvas.Width, canvas.Height); Load?.Invoke(); }