/// <summary> /// Generiert eine Spirale mit der angegebenen Zahl Viertelumdrehungen. /// </summary> /// <param name="bitmap">Das der Spirale zugrunde liegende Bild.</param> /// <param name="quarterRotations">Die Viertelumdrehungen der Spirale.</param> /// <param name="normalWidth">Breite eines Steins in tangentialer Richtung</param> /// <param name="tangentialWidth">Breite eines Steins in normaler Richtung</param> /// <param name="normalDistance">Abstand zwischen zwei Steinen in normaler Richtung</param> /// <param name="tangentialDistance">Abstand zwischen zwei Steinen in tangentialer Richtung</param> /// <param name="colors">Die Farben, die für dieses Objekt verwendet werden sollen.</param> /// <param name="colorMode">Der Interpolationsmodus, der zur Farberkennung verwendet wird.</param> /// <param name="averageMode">Gibt an, ob nur ein Punkt des Dominos (linke obere Ecke) oder ein Durchschnittswert aller Pixel unter dem Pfad verwendet werden soll, um die Farbe auszuwählen.</param> /// <param name="allowStretch">Gibt an, ob beim Berechnen die Struktur an das Bild angepasst werden darf.</param> /// <param name="useOnlyMyColors">Gibt an, ob die Farben nur in der angegebenen Menge verwendet werden sollen. /// Ist diese Eigenschaft aktiviert, kann das optische Ergebnis schlechter sein, das Objekt ist aber mit den angegeben Steinen erbaubar.</param> public SpiralParameters(string filepath, string bitmap, int rotations, string colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(filepath, bitmap, colors, colorMode, ditherMode, averageMode, iterationInformation, allowStretch) { HasProtocolDefinition = false; init(rotations); }
public SpiralParameters(int imageWidth, int imageHeight, Color background, int rotations, string colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(imageWidth, imageHeight, background, colors, colorMode, ditherMode, averageMode, iterationInformation, allowStretch) { HasProtocolDefinition = false; init(rotations); }
protected GeneralShapesProvider(int imageWidth, int imageHeight, Color background, string colors, IColorComparison comp, Dithering ditherMode, AverageMode averageMode, bool allowStretch, IterationInformation iterationInformation) : base(imageWidth, imageHeight, background, comp, ditherMode, colors, iterationInformation) { this.allowStretch = allowStretch; average = averageMode; }
/// <summary> /// Erzeugt einen RectangleDominoProvider (Basiskonstruktor) mit den angegebenen Eigenschaften. /// </summary> /// <param name="bitmap"></param> /// <param name="colors"></param> /// <param name="comp"></param> /// <param name="useOnlyMyColors"></param> /// <param name="filter"></param> /// <param name="averageMode"></param> /// <param name="allowStretch"></param> protected GeneralShapesProvider(string filepath, string imagePath, string colors, IColorComparison comp, Dithering ditherMode, AverageMode averageMode, bool allowStretch, IterationInformation iterationInformation) : base(filepath, imagePath, comp, ditherMode, colors, iterationInformation) { this.allowStretch = allowStretch; average = averageMode; }
public StructureParameters(int imageWidth, int imageHeight, Color background, XElement definition, int targetSize, String colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(imageWidth, imageHeight, background, colors, colorMode, ditherMode, averageMode, allowStretch, iterationInformation) { StructureDefinitionXML = definition; TargetCount = targetSize; }
/// <summary> /// Generiert eine Struktur mit den angegebenen Wiederholparametern in x- und y-Richtung. /// </summary> /// <param name="bitmap">Das Bitmap, welchem der Struk zugrunde liegen soll.</param> /// <param name="definition">Die XML-Strukturdefinition, die verwendet werden soll.</param> /// <param name="length">Die Anzahl der Wiederholung der mittleren Zelle in x-Richtung.</param> /// <param name="height">Die Anzahl der Wiederholung der mittleren Zelle in y-Richtung.</param> /// <param name="colors">Die Farben, die für dieses Objekt verwendet werden sollen.</param> /// <param name="colorMode">Der Interpolationsmodus, der zur Farberkennung verwendet wird.</param> /// <param name="averageMode">Gibt an, ob nur ein Punkt des Dominos (linke obere Ecke) oder ein Durchschnittswert aller Pixel unter dem Pfad verwendet werden soll, um die Farbe auszuwählen.</param> /// <param name="allowStretch">Gibt an, ob beim Berechnen die Struktur an das Bild angepasst werden darf.</param> /// <param name="useOnlyMyColors">Gibt an, ob die Farben nur in der angegebenen Menge verwendet werden sollen. /// Ist diese Eigenschaft aktiviert, kann das optische Ergebnis schlechter sein, das Objekt ist aber mit den angegeben Steinen erbaubar.</param> public StructureParameters(string filepath, string imagepath, XElement definition, int length, int height, string colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(filepath, imagepath, colors, colorMode, ditherMode, averageMode, allowStretch, iterationInformation) { StructureDefinitionXML = definition; this.Length = length; this.Height = height; }
/// <summary> /// Calculates the average color of the block /// </summary> private Color CalcAverageColor(AverageMode mode) { ResetColors(); foreach (var c in _pixels) { _red += c.R; _green += c.G; _blue += c.B; } _red /= _pixels.Length; _green /= _pixels.Length; _blue /= _pixels.Length; if (CheckApplySettingsAverage(mode)) { ApplySettings2(Settings.NegativeImage); ApplySettings3(Settings.GrayscaleImage); } return(Color.FromArgb(_red, _green, _blue)); }
public CircularStructure(int imageWidth, int imageHeight, Color background, string colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(imageWidth, imageHeight, background, colors, colorMode, ditherMode, averageMode, allowStretch, iterationInformation) { }
public CircularStructure(string filepath, string bitmap, string colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(filepath, bitmap, colors, colorMode, ditherMode, averageMode, allowStretch, iterationInformation) { }
/// <summary> /// Generiert eine Struktur mit der angegebenen Steineanzahl. /// Dabei wird versucht, das Seitenverhältnis des Bildes möglichst anzunähern. /// </summary> /// <param name="bitmap">Das Bitmap, welchem der Struktur zugrunde liegen soll.</param> /// <param name="definition">Die XML-Strukturdefinition, die verwendet werden soll.</param> /// <param name="colors">Die Farben, die für dieses Objekt verwendet werden sollen.</param> /// <param name="colorMode">Der Interpolationsmodus, der zur Farberkennung verwendet wird.</param> /// <param name="averageMode">Gibt an, ob nur ein Punkt des Dominos (linke obere Ecke) oder ein Durchschnittswert aller Pixel unter dem Pfad verwendet werden soll, um die Farbe auszuwählen.</param> /// <param name="allowStretch">Gibt an, ob beim Berechnen die Struktur an das Bild angepasst werden darf.</param> /// <param name="useOnlyMyColors">Gibt an, ob die Farben nur in der angegebenen Menge verwendet werden sollen. /// Ist diese Eigenschaft aktiviert, kann das optische Ergebnis schlechter sein, das Objekt ist aber mit den angegeben Steinen erbaubar.</param> /// <param name="targetSize">Die Zielgröße des Objekts.</param> public StructureParameters(string filepath, string imagepath, XElement definition, int targetSize, String colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : this(filepath, imagepath, definition, 1, 1, colors, colorMode, ditherMode, averageMode, iterationInformation, allowStretch) { TargetCount = targetSize; }
public CircleParameters(string filepath, string imagepath, int circles, string colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(filepath, imagepath, colors, colorMode, ditherMode, averageMode, iterationInformation, allowStretch) { init(circles); }
public CircleParameters(int imageWidth, int imageHeight, Color background, int circles, string colors, IColorComparison colorMode, Dithering ditherMode, AverageMode averageMode, IterationInformation iterationInformation, bool allowStretch = false) : base(imageWidth, imageHeight, background, colors, colorMode, ditherMode, averageMode, iterationInformation, allowStretch) { init(circles); }
/// <summary> /// Checks if settings should be applied to the average color /// </summary> private static bool CheckApplySettingsAverage(AverageMode mode) { return(mode == AverageMode.Element || Settings.PixelMode); }