private void applyImageSwitch(ImageViewerEventArgs ea) { this.Imagem = ea.Imagem; this.Descricao = ea.Descricao; if (ea.ExistsPrevious) { ToolBarButtonPreviousImage.Enabled = true; } else { ToolBarButtonPreviousImage.Enabled = false; } if (ea.ExistsNext) { ToolBarButtonNextImage.Enabled = true; } else { ToolBarButtonNextImage.Enabled = false; } }
private void ToolBar_ButtonClick(object sender, ToolBarButtonClickEventArgs e) { if (e.Button == ToolBarButtonPreviousImage) { ImageViewerEventArgs ea = new ImageViewerEventArgs(); if (PreviousImage != null) PreviousImage(this, ea); applyImageSwitch(ea); } else if (e.Button == ToolBarButtonNextImage) { ImageViewerEventArgs ea = new ImageViewerEventArgs(); if (NextImage != null) NextImage(this, ea); applyImageSwitch(ea); } else { if (Imagem == null) { return; } if (e.Button == ToolBarButtonRotateLeft) { updateImage(Imagem); Rotacao = RotateFlipType.Rotate270FlipNone; Ampliacao = Ampliacao; pbImagem.Refresh(); } else if (e.Button == ToolBarButtonRotateNone) { updateImage(Imagem); Rotacao = RotateFlipType.RotateNoneFlipNone; Ampliacao = Ampliacao; pbImagem.Refresh(); } else if (e.Button == ToolBarButtonRotateRight) { updateImage(Imagem); Rotacao = RotateFlipType.Rotate90FlipNone; Ampliacao = Ampliacao; } else if (e.Button == ToolBarButtonZoomIn) { updateImage(Imagem); Rotacao = Rotacao; Ampliacao = ImageHelper.getSizeSameAspectRatio(Ampliacao, (Ampliacao + ImageHelper.ZoomStep)); pbImagem.Refresh(); } else if (e.Button == ToolBarButtonZoomOut) { updateImage(Imagem); Rotacao = Rotacao; Ampliacao = ImageHelper.getSizeSameAspectRatio(Ampliacao, (Ampliacao - ImageHelper.ZoomStep)); pbImagem.Refresh(); } else if (e.Button == ToolBarButtonZoomRealSize) { updateImage(Imagem); mAmpliacao = Imagem.Size; Rotacao = RotateFlipType.RotateNoneFlipNone; Ampliacao = Imagem.Size; pbImagem.Refresh(); } else if (e.Button == ToolBarButtonZoomAll) { updateImage(Imagem); mAmpliacao = Imagem.Size; Rotacao = Rotacao; if (Imagem.Width > pnlImagem.Width | Imagem.Height > pnlImagem.Height) { // se a imagem original for maior que o // painel encolher a imagem para o tamanho do painel. Size newSize = ImageHelper.getSizeSameAspectRatio(Imagem.Size, pnlImagem.Size); Ampliacao = newSize; } else { Ampliacao = Imagem.Size; } pbImagem.Refresh(); } } }