public string GetUrl(int width, int height, bool fill, DynamicImageFormat format) { Composition image = new Composition(); image.ImageFormat = format; ImageLayer imageLayer = new ImageLayer(); ZeusImageSource source = new ZeusImageSource(); source.ContentID = ID; imageLayer.Source = source; ResizeFilter resizeFilter = new ResizeFilter(); resizeFilter.Mode = fill ? ResizeMode.UniformFill : ResizeMode.Uniform; resizeFilter.Width = Unit.Pixel(width); resizeFilter.Height = Unit.Pixel(height); imageLayer.Filters.Add(resizeFilter); image.Layers.Add(imageLayer); return ImageUrlGenerator.GetImageUrl(image); /*old code replaced * return new DynamicImageBuilder() .WithLayer( LayerBuilder.Image.SourceImage(this).WithFilter(FilterBuilder.Resize.To(width, height, fill))) .Url; */ }
public void LegendTextIsNotChangedWhenDataSetIsNotRealFile() { const string legendText = "Custom Legend Text"; var target = new ImageLayer { LegendText = legendText }; Assert.AreEqual(legendText, target.LegendText); var imageData = new ImageData {Filename = ""}; target.DataSet = imageData; // assign dataset // Legend should be same Assert.AreEqual(legendText, target.LegendText); }
public Texture2D GetImage(ImageLayer layer) { switch (layer) { case ImageLayer.Glow: return GlowTarget.GetTexture(); } return GetImage(); }
public void LegendTextIsEqualsToFileNameWhenDataSetIsRealFile() { var target = new ImageLayer(); Assert.IsNull(target.LegendText); var imageData = new ImageData { Filename = Path.GetTempFileName(), }; target.DataSet = imageData; // Legend should be equals to filename Assert.AreEqual(Path.GetFileName(imageData.Filename), target.LegendText); }
protected override void UpdateMapRecord() { var provider = _ImageLayerContext?.CreateMapDataProvider() ?? throw new Exception("Cannot create image layer."); var map = MapContext.Map; if (!MiniMap) { var layer = new ImageLayer() { DataProvider = provider, EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True, }; if (Transparency.HasValue) { layer.Transparency = Transparency.Value; } if (!string.IsNullOrWhiteSpace(Name)) { layer.Name = Name; } map.Layers.Add(layer); MapContext.CurrentLayer = layer; } else { var dataProvider = provider as MapDataProviderBase ?? throw new Exception("MiniMap does not support selected data provider."); var layerMini = new MiniMapImageTilesLayer() { DataProvider = dataProvider }; if (!string.IsNullOrWhiteSpace(Name)) { layerMini.Name = Name; } if (map.MiniMap == null) { throw new Exception("Mini map is not created."); } map.MiniMap.Layers.Add(layerMini); MapContext.CurrentLayer = layerMini; } }
/// <summary> /// Read image file /// </summary> /// <param name="aFile">File name</param> ///<returns>image layer</returns> public static ImageLayer ReadImageFile(string aFile) { string oEx = Path.GetExtension(aFile); string sEx = oEx.Remove(2, 1); sEx = sEx + "w"; string wFile = aFile.Replace(oEx, sEx); Image aImage = new Bitmap(aFile); ImageLayer aImageLayer = new ImageLayer(); aImageLayer.FileName = aFile; aImageLayer.WorldFileName = wFile; aImageLayer.Image = aImage; aImageLayer.LayerName = Path.GetFileName(aFile); aImageLayer.Visible = true; if (File.Exists(wFile)) { aImageLayer.ReadImageWorldFile(wFile); } else { WorldFilePara aWFP = new WorldFilePara(); aWFP.XUL = 0; aWFP.YUL = 90; aWFP.XScale = 0.05; aWFP.YScale = -0.05; aWFP.XRotate = 0; aWFP.YRotate = 0; aImageLayer.WorldFileParaV = aWFP; aImageLayer.WriteImageWorldFile(wFile, aImageLayer.WorldFileParaV); } double XBR, YBR; XBR = aImageLayer.Image.Width * aImageLayer.WorldFileParaV.XScale + aImageLayer.WorldFileParaV.XUL; YBR = aImageLayer.Image.Height * aImageLayer.WorldFileParaV.YScale + aImageLayer.WorldFileParaV.YUL; Extent aExtent = new Extent(); aExtent.minX = aImageLayer.WorldFileParaV.XUL; aExtent.minY = YBR; aExtent.maxX = XBR; aExtent.maxY = aImageLayer.WorldFileParaV.YUL; aImageLayer.Extent = aExtent; aImageLayer.LayerDrawType = LayerDrawType.Image; aImageLayer.IsMaskout = true; return(aImageLayer); }
public static void then_should_return_false_given_null_second_layer() { // Arrange using (var imageLayer1 = new ImageLayer { Position = new Point(1, 1) }) { ImageLayer imageLayer2 = null; // Act var result = imageLayer1.Equals(imageLayer2); // Assert Assert.That(result, Is.False); } }
public static void then_should_return_false_given_different_layers() { // Arrange var imageLayer1 = new ImageLayer { Position = new Point(1, 1) }; var imageLayer2 = new ImageLayer { Position = new Point(10, 10) }; // Act var result = imageLayer1.Equals(imageLayer2); // Assert Assert.That(result, Is.False); }
private T General <T>(ImageProcessor <T> processor) { var chars = FileContents.ToCharArray(); const int width = 25; const int height = 6; const int layerSize = width * height; var layers = new ImageLayer[chars.Length / layerSize]; for (int i = 0; i < chars.Length; i += layerSize) { layers[i / layerSize] = new ImageLayer(chars, i, layerSize); } return(processor(layers)); }
public mQuickComposite(Bitmap B, mModifier M) { image = new ImageImageSource(); layer = new ImageLayer(); CompositionObject = new Composition(); image.Image = new mConvert(B).BitmapToWritableBitmap(); layer.Source = image; layer.Filters.Add(M.filter); CompositionObject.Layers.Add(layer); CompositionObject.ImageFormat = DynamicImageFormat.Png; ModifiedBitmap = new Bitmap(new mConvert(CompositionObject.GenerateImage().Image).SourceToBitmap()); }
public void LegendTextIsNotChangedWhenDataSetIsNotRealFile() { const string legendText = "Custom Legend Text"; var target = new ImageLayer { LegendText = legendText }; Assert.AreEqual(legendText, target.LegendText); var imageData = new ImageData { Filename = "" }; target.DataSet = imageData; // assign dataset // Legend should be same Assert.AreEqual(legendText, target.LegendText); }
protected override void CleanUpLayer(bool bFinal) { if (m_Layer != null) { m_Layer.Dispose(); } if (File.Exists(m_strCacheFileName)) { File.Delete(m_strCacheFileName); } if (bFinal && m_bIsTmp && File.Exists(m_strFileName)) { File.Delete(m_strFileName); } m_Layer = null; m_blnIsChanged = true; }
private void button1_Click(object sender, System.EventArgs e) { try { if (this.curSelectedDataSet == null) { return; } this.currentImageList.Clear(); this.currentAnimatingImages.Clear(); if (this.imageLayer != null) { m_WorldWindow.CurrentWorld.RenderableObjects.Remove(this.imageLayer.Name); this.imageLayer.Dispose(); this.imageLayer = null; } if (this.buttonLoad.Text == "Cancel") { this.buttonLoad.Text = "Load"; } else { this.currentAnimatingDataSet = this.curSelectedDataSet; if (this.listBox1.SelectedItems.Count > 0) { this.animationTimer.Start(); foreach (string item in this.listBox1.SelectedItems) { this.currentImageList.Add(item); } this.buttonLoad.Text = "Cancel"; this.downloaderThread = new System.Threading.Thread(new System.Threading.ThreadStart(this.downloadThreadFunc)); this.downloaderThread.IsBackground = true; this.downloaderThread.Start(); } } } catch (Exception ex) { this.statusBar1.Text = "Error"; Log.Write(ex); } }
XElement FromImageLayer(ImageLayer layer) { return(new XElement("Image", GetContents())); IEnumerable <XObject> GetContents() { foreach (var item in GetLayerContents(layer)) { yield return(item); } if (!string.IsNullOrWhiteSpace(layer.RefId)) { yield return(new XAttribute(nameof(layer.RefId), layer.RefId)); } } }
public static void then_should_return_true_given_image_and_size_and_opacity_and_position_same() { // Arrange using (var imageLayer1 = new ImageLayer { Opacity = 50, Position = new Point(1, 1), Size = new Size(5, 5) }) using (var imageLayer2 = new ImageLayer { Opacity = 50, Position = new Point(1, 1), Size = new Size(5, 5) }) { // Act var result = imageLayer1.Equals(imageLayer2); // Assert Assert.That(result, Is.True); } }
protected internal virtual void UpdateLayerImage(SCMap map, MapImageDataProviderBase provider) { if (!MiniMap) { var layer = new ImageLayer() { DataProvider = provider, EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True, }; if (Transparency.HasValue) { layer.Transparency = Transparency.Value; } if (!string.IsNullOrWhiteSpace(Name)) { layer.Name = Name; } map.Map.Layers.Add(layer); map.CurrentLayer = layer; } else { var dataProvider = provider as MapDataProviderBase ?? throw new Exception("MiniMap does not support selected data provider."); var layerMini = new MiniMapImageTilesLayer() { DataProvider = dataProvider }; if (!string.IsNullOrWhiteSpace(Name)) { layerMini.Name = Name; } if (map.Map.MiniMap == null) { throw new Exception("Mini map is not created."); } map.Map.MiniMap.Layers.Add(layerMini); map.CurrentLayer = layerMini; } }
public byte[] Convert(byte[] imageBytes) { using var inputImageStream = new MemoryStream(imageBytes); var inputImage = Image.FromStream(inputImageStream); var resizedLogo = _watermarkSettings.ShouldResizeWatermark ? _logo.Resize(GetNewWatermarkSize(inputImage.Size)) : _logo; var logoPosition = _watermarkSettings.Position.ToActualPosition(inputImage.Size, resizedLogo.Size); var imageLayer = new ImageLayer { Image = resizedLogo, Size = resizedLogo.Size, Opacity = _watermarkSettings.Opacity, Position = logoPosition }; using var convertedImageStream = new MemoryStream(); using var factory = new ImageFactory(preserveExifData: true); factory.Load(inputImage).Overlay(imageLayer).Save(convertedImageStream); return(convertedImageStream.ToArray()); }
public void Should_TriggerDblClick() { var layer = new ImageLayer(); var triggered = false; var map = new Map("id"); var eventArgs = CreateEventArgsForMouseEvent("dblclick"); layer.OnDblClick += args => { triggered = args.Map == map && args.LayerId == eventArgs.LayerId && args.Pixel == eventArgs.Pixel && args.Position == eventArgs.Position && args.Type == eventArgs.Type; }; layer.DispatchEvent(map, eventArgs); Assert.True(triggered); }
public void SetHighLight(Point position, Size size, Color color) { ImageLayer imageLayer = new ImageLayer(); ResizeLayer resizeLayer = new ResizeLayer(size); resizeLayer.ResizeMode = ResizeMode.Stretch; ImageFactory temp = new ImageFactory(); temp.Load(new MemoryStream(File.ReadAllBytes(@"D:\TFTest\Square.png"))) .Resize(resizeLayer) .ReplaceColor(Color.White, color); imageLayer.Image = temp.Image; imageLayer.Opacity = 70; imageLayer.Position = position; _mainImageFactory.Overlay(imageLayer); }
public static void Picture(string name, Image img, Size size, Point point) { ImageFactory realimg = PhotoProcessing.LoadFile("./Images/" + name + ".png"); ImageFactory background = PhotoProcessing.LoadFile("./Images/" + name + "background.png"); ImageLayer back = new ImageLayer(); back.Image = realimg.Image; ImageLayer profile = new ImageLayer(); profile.Image = img; profile.Size = size; //325 45 profile.Position = point; background.Overlay(profile); background.Overlay(back); PhotoProcessing.SaveFile(background, "./Images/final.png"); }
public static void Wasted(Image img) { ImageFactory realimg = PhotoProcessing.LoadFile("./Images/wasted.png"); ImageFactory background = PhotoProcessing.LoadFile("./Images/wastedbackground.png"); ImageLayer back = new ImageLayer(); back.Image = realimg.Image; ImageLayer profile = new ImageLayer(); profile.Image = img; profile.Size = new Size(500, 500); profile.Position = new Point(0, 150); background.Overlay(profile); background.Tint(Color.Gray); background.Overlay(back); PhotoProcessing.SaveFile(background, "./Images/final.png"); }
public static void Display(User user, DiscordClient client) { byte[] avatar = null; using (var wc = new System.Net.WebClient()) { avatar = (user.AvatarUrl == null) ? null : wc.DownloadData(user.AvatarUrl); if (avatar == null) { client.GetChannel( (from channel in Config.INSTANCE.primaryChannels where channel.server_id == user.Server.Id select channel.channel_id).First() ).SendMessage("Welcome new comrade" + user.Mention); return; } } var astream = new MemoryStream(avatar); Image ai = Image.FromStream(astream); var outstream = new MemoryStream(); using (var ifact = new ImageProcessor.ImageFactory()) { //159,204 image size 283x283 ImageLayer ilay = new ImageLayer() { Image = ai, Size = new Size(283, 283), Position = new Point(159, 204) }; ifact.Load("resources/welcome.jpg"); ifact.Overlay(ilay); System.Drawing.Color yellow = System.Drawing.Color.FromArgb(208, 190, 25); TextLayer uname = new TextLayer() { Position = new Point(108, 512), FontFamily = FontFamily.GenericSansSerif, FontSize = 30, Text = user.Nickname, FontColor = yellow }; ifact.Watermark(uname); ifact.Save(outstream); } Channel general = client.GetChannel((from channel in Config.INSTANCE.primaryChannels where channel.server_id == user.Server.Id select channel.channel_id).First()); general.SendMessage("Welcome new comrade " + user.Mention); general.SendFile("welcome.jpg", outstream); ModerationLog.LogToPublic($"User {user} joined.", client.GetServer(user.Server.Id)); }
protected Image PreviewSlide(Song sng, string currentText, string currentTranslationText) { SongSlide slide = (SongSlide)sng.Parts[CurrentPartId].Slides[CurrentSlideId].Clone(); slide.Text = currentText; slide.TranslationText = currentTranslationText; SlideTextFormatting slideFormatting = new SlideTextFormatting(); PreviewFormattingMapper.Map(sng, ref slideFormatting); // Disabled for performance slideFormatting.OutlineEnabled = false; slideFormatting.SmoothShadow = false; slideFormatting.ScaleFontSize = Settings.ProjectionFontScaling; slideFormatting.SmoothShadow = false; TextLayer sl = new TextLayer(slideFormatting) { MainText = slide.Lines.ToArray(), SubText = slide.Translation.ToArray() }; sl.DrawBordersForDebugging = Settings.Default.DebugMode; ImageLayer il = new ImageLayer(Settings.ProjectionBackColor); IBackground bg = sng.Parts[CurrentPartId].Slides[CurrentSlideId].Background; il.Image = ImgManager.GetImage(bg); var bmp = new Bitmap(1024, 768); Graphics gr = Graphics.FromImage(bmp); gr.CompositingQuality = CompositingQuality.HighSpeed; gr.SmoothingMode = SmoothingMode.HighSpeed; il.WriteOut(gr, null); sl.WriteOut(gr, null); return(bmp); }
public static string ProcessScreenshot(string filePath) { Console.WriteLine("Processing " + Path.GetFileName(filePath) + "..."); var imgBytes = File.ReadAllBytes(filePath); CropLayer fifaCrop = new CropLayer(11.5f, 34.8f, 32.5f, 17.5f, CropMode.Percentage); CropLayer tempCrop = new CropLayer(0, 0, 0, 92f, CropMode.Percentage); Image originalImage = Image.FromFile(filePath); string savePath = (Path.GetDirectoryName(filePath) + @"\Processed\" + Path.GetFileName(filePath)); using (var tempStream1 = new MemoryStream()) using (var tempStream2 = new MemoryStream()) using (var imageFactory = new ImageFactory(false)) { imageFactory.Load(originalImage) .Saturation(-100) .Crop(fifaCrop) .Contrast(100) .Save(tempStream1) .Crop(tempCrop) .Filter(MatrixFilters.Invert) .Save(tempStream2); Image goalsImage = Image.FromStream(tempStream2); ImageLayer goals = new ImageLayer() { Image = goalsImage, Size = goalsImage.Size, Opacity = 100, Position = new Point(originalImage.Size.Height) }; imageFactory.Load(tempStream1) .Overlay(goals) .Save(savePath); tempStream1.Dispose(); tempStream2.Dispose(); imageFactory.Dispose(); } Console.WriteLine("Image processed and saved to " + savePath); return(savePath); }
private void PrepareMap() { // Create a map control. map = new MapControl(); // Specify the map position on the form. map.Dock = DockStyle.Fill; // Add the map control to the window. this.Controls.Add(map); // Bring the map to the front. map.BringToFront(); // Create an image tiles layer and add it to the map. ImageLayer tilesLayer = new ImageLayer(); map.Layers.Add(tilesLayer); // Create an information layer and add it to the map. InformationLayer infoLayer = new InformationLayer(); map.Layers.Add(infoLayer); VectorItemsLayer items = new VectorItemsLayer(); items.Data = new MapItemStorage(); map.Layers.Add(items); // Create a Bing data provider and specify the Bing key. BingMapDataProvider bingProvider = new BingMapDataProvider(); tilesLayer.DataProvider = bingProvider; bingProvider.BingKey = yourBingKey; // Create a Bing search data provider and specify the Bing key. searchProvider = new BingSearchDataProvider(); infoLayer.DataProvider = searchProvider; searchProvider.GenerateLayerItems = false; searchProvider.BingKey = yourBingKey; map.ShowSearchPanel = false; }
public void Should_TriggerTouchStart() { var layer = new ImageLayer(); var triggered = false; var map = new Map("id"); var eventArgs = CreateEventArgsForTouchEvent("touchstart"); layer.OnTouchStart += args => { triggered = args.Map == map && args.LayerId == eventArgs.LayerId && args.Pixel == eventArgs.Pixel && args.Position == eventArgs.Position && args.Pixels == eventArgs.Pixels && args.Positions == eventArgs.Positions && args.Type == eventArgs.Type; }; layer.DispatchEvent(map, eventArgs); Assert.True(triggered); }
private void GenerateCardView(List <CatalogCode> codes) { ImageFactory output = new ImageFactory().Load(new Bitmap(1, 1)); foreach (CatalogCode code in codes) { string path = CardPath(code); ImageLayer temp = new ImageLayer(); temp.Image = Image.FromFile(path); temp.Position = new Point(0, output.Image.Height); ResizeLayer rl = new ResizeLayer(new Size(Math.Max(temp.Image.Width, output.Image.Width), output.Image.Height + temp.Image.Height), ResizeMode.BoxPad, AnchorPosition.TopLeft); output.Resize(rl); output.Overlay(temp); temp.Dispose(); } output.Image.Save(folder + tempFolder + tempFile, ImageFormat.Tiff); output.Dispose(); }
public static void Drake(Image img1, Image img2) { ImageFactory lm = PhotoProcessing.LoadFile("./Images/drake.png"); ImageLayer one, two; one = new ImageLayer(); two = new ImageLayer(); one.Image = img1; one.Size = new Size(300, 300); one.Position = new Point(300, 0); two.Image = img2; two.Size = new Size(300, 300); two.Position = new Point(300, 300); lm.Overlay(one); lm.Overlay(two); PhotoProcessing.SaveFile(lm, "./Images/final.png"); }
public static void Lovemeter(Image img1, Image img2) { ImageFactory lm = PhotoProcessing.LoadFile("./Images/lovemeter.png"); ImageLayer one, two; one = new ImageLayer(); two = new ImageLayer(); one.Image = img1; one.Size = new Size(100, 100); one.Position = new Point(13, 67); two.Image = img2; two.Size = new Size(100, 100); two.Position = new Point(117, 67); lm.Overlay(one); lm.Overlay(two); PhotoProcessing.SaveFile(lm, "./Images/final.png"); }
public async Task <bool> ProductImagsProcessAsync(string filePath, string path) { string pathWatermark = HttpContext.Current.Server.MapPath(FileConst.WatermarkIcon); var imageLayer = new ImageLayer { Image = System.Drawing.Image.FromFile(pathWatermark, true), Position = new Point { X = 15, Y = 15 } }; var imageFactory = new ImageFactory(true); imageFactory.Load(filePath); if (imageLayer.Image.HorizontalResolution.InRange(95, Single.MaxValue) || imageLayer.Image.VerticalResolution.InRange(95, Single.MaxValue)) { imageFactory.Resolution(96, 96); } if (imageLayer.Image.Height.InRange(314, Int32.MaxValue) || imageLayer.Image.Width.InRange(419, Int32.MaxValue)) { imageFactory.Resize(new Size { Height = 315, Width = 420 }); } else { imageFactory.Resize(new Size { Height = 315, Width = 420 }); } imageFactory.BackgroundColor(Color.Transparent).Overlay(imageLayer).Save(filePath); return(true); }
public void ImageDataTest() { var input = new ImageLayer { Id = 42, Offset = new Point2D(1, 2), Z = -10, SubZ = -20, Data = new byte[] { 1, 2, 3, 4, 5 }, IsLayered = true }; var serializer = new ImageLayerHandler(); var output = (ImageLayer)serializer.Reserialize(input); Assert.That(output.Id, Is.EqualTo(input.Id)); Assert.That(output.Z, Is.EqualTo(input.Z)); Assert.That(output.SubZ, Is.EqualTo(input.SubZ)); Assert.That(output.Offset, Is.EqualTo(input.Offset)); Assert.That(output.IsLayered, Is.EqualTo(input.IsLayered)); Assert.That(output.Data, Is.EquivalentTo(input.Data)); }
private void Window_Loaded(object sender, RoutedEventArgs e) { // Create a map control and add it to the window. MapControl map = new MapControl(); this.Content = map; // Create a layer. ImageLayer layer = new ImageLayer() { DataProvider = new BingMapDataProvider() { BingKey = "Insert your Bing Maps key here.", Kind = BingMapKind.Road } }; map.Layers.Add(layer); map.ZoomLevel = 4; map.CenterPoint = new GeoPoint(40, -100); }
public static void Tobecontinued(Image img) { ImageFactory tbc = PhotoProcessing.LoadFile("./Images/tbc.png"); ImageFactory background = PhotoProcessing.LoadFile("./Images/tbcbackground.png"); ImageLayer tobecontinued = new ImageLayer(); tobecontinued.Image = tbc.Image; ImageLayer profile = new ImageLayer { Image = img, Size = new Size(300, 300) //325 45 }; tobecontinued.Position = new Point(5, 247); background.Overlay(profile); background.Tint(Color.Yellow); background.Overlay(tobecontinued); PhotoProcessing.SaveFile(background, "./Images/final.png"); }
public MainWindow() { InitializeComponent(); MapControl map = new MapControl() { CenterPoint = new GeoPoint(51.5, 0), ZoomLevel = 14 //road names for screenshot 1 //ZoomLevel = 13.5 //fractional zoom level for screenshot 2 //ZoomLevel = 17 //overscaled zoom level for screenshot 3 }; ImageLayer layer = new ImageLayer(); MbTilesDataProvider dataProvider = new MbTilesDataProvider() { FileUri = new Uri(@"\\corp\internal\common\4pshenichny\VectorTileRenderer\2017-07-03_great-britain_england.mbtiles") }; layer.DataProvider = dataProvider; map.Layers.Add(layer); this.grid.Children.Add(map); }
public Map(XDocument xDocument) { version = null; orientation = Orientation.Orthogonal; width = 0; height = 0; tileWidth = 0; tileHeight = 0; backgroundColor = Color.black; XElement xMap = xDocument.Element("map"); foreach (XAttribute xAttribute in xMap.Attributes()) switch (xAttribute.Name.ToString()) { case "version": version = (string)xAttribute; break; case "orientation": orientation = (Orientation)Enum.Parse(typeof(Orientation), (string)xAttribute, true); break; case "width": width = (int)xAttribute; break; case "height": height = (int)xAttribute; break; case "tilewidth": tileWidth = (int)xAttribute; break; case "tileheight": tileHeight = (int)xAttribute; break; case "backgroundcolor": backgroundColor = ConvertXColor((string)xAttribute); break; } Tileset tileset; int tilesetLength; int tilesetIndex; TileLayer tileLayer; ObjectLayer objectLayer; ImageLayer imageLayer; List<Tileset> tilesetsList = new List<Tileset>(); List<TileLayer> tileLayersList = new List<TileLayer>(); List<ObjectLayer> objectLayersList = new List<ObjectLayer>(); List<ImageLayer> imageLayersList = new List<ImageLayer>(); List<ILayer> layersList = new List<ILayer>(); List<Property> propertyList = new List<Property>(); foreach (XElement xElement in xMap.Elements()) switch (xElement.Name.ToString()) { case "tileset": tileset = new Tileset(xElement); tilesetLength = tilesetsList.Count; if (tilesetLength == 0) tilesetsList.Add(tileset); else { tilesetIndex = tilesetLength; while (tilesetIndex-- > 0) if (tilesetIndex == 0) tilesetsList.Insert(0, tileset); else if (tileset.firstGID > tilesetsList[tilesetIndex].firstGID) { if (tilesetIndex == tilesetLength - 1) tilesetsList.Add(tileset); else tilesetsList.Insert(tilesetIndex + 1, tileset); } } break; case "layer": tileLayer = new TileLayer(xElement, width, height); tileLayersList.Add(tileLayer); layersList.Add(tileLayer); break; case "objectgroup": objectLayer = new ObjectLayer(xElement); objectLayersList.Add(objectLayer); layersList.Add(objectLayer); break; case "imagelayer": imageLayer = new ImageLayer(xElement); imageLayersList.Add(imageLayer); layersList.Add(imageLayer); break; case "properties": propertyList.AddRange(ConvertXProperties(xElement)); break; } tilesets = tilesetsList.ToArray(); tileLayers = tileLayersList.ToArray(); objectLayers = objectLayersList.ToArray(); imageLayers = imageLayersList.ToArray(); layers = layersList.ToArray(); properties = propertyList.ToArray(); }
public void InitModuleNormalMode() { if (receivedValue == null) throw new ArgumentNullException(); if (receivedValue.GetType() != typeof(Graph)) throw new ArgumentException(); MyGraph = (Graph)receivedValue; for (int i = 0; i < MyGraph.VertexCount; ++i) MyGraph[i, i] = 0; //Создаём слои-вершины-------------------------------------------- VertexLayers = new List<ImageLayer>();// new ImageLayer[MyGraph.VertexCount]; for (int i = 0; i < MyGraph.VertexCount; ++i) { VertexLayers.Add(new ImageLayer(new Bitmap(VERTEX_SIZE + 1, VERTEX_SIZE + 1)));//[i] = new ImageLayer(new Bitmap(VERTEX_SIZE + 1, VERTEX_SIZE + 1)); using (Graphics VertexPicture = VertexLayers[i].GetGraphics()) { VertexLayers[i].UseTransparentcy = true; VertexLayers[i].TransparentColor = Color.Magenta; VertexPicture.FillRectangle(Brushes.Magenta, new Rectangle(0, 0, VERTEX_SIZE, VERTEX_SIZE)); VertexPicture.FillEllipse(Brushes.White, 0, 0, 32, 32); VertexPicture.DrawEllipse(new Pen(Color.Black, 1), 0, 0, VERTEX_SIZE, VERTEX_SIZE); VertexPicture.DrawString(MyGraph[i], vertexNameFont, Brushes.Black, new PointF(10, 10)); } } //-------------------------Если ошибка errEllipse = new Bitmap(VERTEX_SIZE + 1, VERTEX_SIZE + 1); using (Graphics gr = Graphics.FromImage(errEllipse)) { gr.FillRectangle(Brushes.Magenta, new Rectangle(0, 0, VERTEX_SIZE, VERTEX_SIZE)); gr.FillEllipse(Brushes.Red, 0, 0, 32, 32); gr.DrawEllipse(new Pen(Color.Black, 1), 0, 0, VERTEX_SIZE, VERTEX_SIZE); } //------------------------------------ //Слой со стрелками ArrowsLayer = new ImageLayer(new Bitmap(pboxBackground.Width, pboxBackground.Height)); //Начальное положение "планет"------------------------------------ Random rnd = new Random(); planets = new Planet[MyGraph.VertexCount]; for (int i = 0; i < MyGraph.VertexCount; ++i) { bool goodPosition; double x, y; do { goodPosition = true; x = rnd.Next(500); y = rnd.Next(500); for (int j = 0; j < i; ++j) if (j == i) continue; else if (Math.Abs(planets[j].x - x) < 50 && Math.Abs(planets[j].y - y) < 50) goodPosition = false; } while (!goodPosition); planets[i] = new Planet(x, y); } //Инициализируем инструменты moveMouseDown = new MouseEventHandler(moveMouseDownHandler); moveMouseMove = new MouseEventHandler(moveMouseMoveHandler); moveMouseUp = new MouseEventHandler(moveMouseUpHandler); //mergeMouseDown = new MouseEventHandler(mergeMouseDownHandler); //mergeMouseMove = new MouseEventHandler(mergeMouseMoveHandler); //mergeMouseUp = new MouseEventHandler(mergeMouseUpHandler); selectSccMouseClick = new MouseEventHandler(selectSccClickHandler); selectRMouseClick = new MouseEventHandler(selectRMouseClickHandler); selectQMouseClick = new MouseEventHandler(selectQMouseClickHandler); newVertexClick = new MouseEventHandler(newVertexClickHandler); newArrowClick = new MouseEventHandler(newArrowClickHandler); DisplayedGraph = MyGraph; FindSCCs(); Utils.findGoodLocations(planets, MyGraph); Utils.setCoords(planets, VertexLayers, ClientSize.Width, ClientSize.Height, pboxBackground.Left, pboxBackground.Top); DrawArrows(-1); Refresh(); }
public string GetUrl(int width, int height, bool fill, DynamicImageFormat format, bool isResize) { //first construct the crop var imageSource = new ZeusImageSource(); imageSource.ContentID = this.ID; if (this.Data == null) return ""; // generate resized image url // set image format var dynamicImage = new SoundInTheory.DynamicImage.Composition(); dynamicImage.ImageFormat = format; // create image layer wit ha source var imageLayer = new ImageLayer(); imageLayer.Source = imageSource; // add filters if (!(TopLeftXVal == 0 && TopLeftYVal == 0 && CropWidth == 0 && CropHeight == 0)) { var cropFilter = new CropFilter { Enabled = true, X = this.TopLeftXVal, Y = this.TopLeftYVal, Width = this.CropWidth, Height = this.CropHeight }; if (!isResize) imageLayer.Filters.Add(cropFilter); } if (width > 0 && height > 0) { var resizeFilter = new ResizeFilter { Mode = isResize ? ResizeMode.Uniform : ResizeMode.UniformFill, Width = SoundInTheory.DynamicImage.Unit.Pixel(width), Height = SoundInTheory.DynamicImage.Unit.Pixel(height) }; imageLayer.Filters.Add(resizeFilter); } else if (width > 0) { var resizeFilter = new ResizeFilter { Mode = ResizeMode.UseWidth, Width = SoundInTheory.DynamicImage.Unit.Pixel(width) }; imageLayer.Filters.Add(resizeFilter); } else if (height > 0) { var resizeFilter = new ResizeFilter { Mode = ResizeMode.UseHeight, Height = SoundInTheory.DynamicImage.Unit.Pixel(height) }; imageLayer.Filters.Add(resizeFilter); } // add the layer dynamicImage.Layers.Add(imageLayer); // generate url return ImageUrlGenerator.GetImageUrl(dynamicImage); }