public void Deserialize(BinaryFormatter bf, Stream s) { version = (int)bf.Deserialize(s); FileName = (string)bf.Deserialize(s); WrapMode = (WrapMode)bf.Deserialize(s); ResourceImage = (string)bf.Deserialize(s); ImageDrawMode = (ImageDrawMode)bf.Deserialize(s); }
/// <summary> /// Create the new image entity. /// </summary> /// <param name="texture">Image texture.</param> /// <param name="size">Image size.</param> /// <param name="drawMode">How to draw the image (see ImageDrawMode for more info).</param> /// <param name="anchor">Poisition anchor.</param> /// <param name="offset">Offset from anchor position.</param> public Image(Texture2D texture, Vector2 size, ImageDrawMode drawMode = ImageDrawMode.Stretch, Anchor anchor = Anchor.Auto, Vector2?offset = null) : base(size, anchor, offset) { // store image DrawMode and texture DrawMode = drawMode; Texture = texture; // update style UpdateStyle(DefaultStyle); }
/// <summary> /// 设置radio平铺镜像 /// </summary> /// <returns></returns> void SetImageDrawMode(ImageDrawMode idm) { if (!EanbleImageDrawMode) { idm = ImageDrawMode.Wrap; } radio_pos_tile.Checked = idm == ImageDrawMode.Wrap; radio_pos_center.Checked = idm == ImageDrawMode.Center; radio_pos_stretch.Checked = idm == ImageDrawMode.Stretch; }
/// <summary> /// Draws an <see cref="Image"/> to the drawing surface using the provided drawing parameters /// </summary> /// <param name="image"><see cref="Image"/> to draw</param> /// <param name="size">Size of the container</param> /// <param name="mode">Detemines how the image is drawn</param> public void DrawImage(Image image, Size size, ImageDrawMode mode) { switch (mode) { case ImageDrawMode.Normal: DrawImage(image); break; case ImageDrawMode.Center: Point location = GetCenter(image.Size, size); DrawImage(image, location.X, location.Y); break; case ImageDrawMode.Stretch: using (Image stretchedImage = ImageManipulator.Stretch(image, size)) DrawImage(stretchedImage); break; default: throw new ArgumentOutOfRangeException("mode"); } }