ImageViewer

Standalone image viewer that renders an ImageSource (URL, base64, or raw bytes) and layers optional chrome on top: a bordered frame, a toolbar with rotate / flip / zoom / fullscreen, download buttons, and crop interactions. For column-bound editing (drop zone, upload, validation) use ImageEdit instead.

Bare

Default — a plain <img> sized to its parent. No chrome.

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.react-example-label
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.example-label
600x400.png
React TypeScript
Razor

Framed + Downloadable

Adds a border, padding, and a corner download button. This is the read-only preview shape ImageEdit uses.

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.react-example-label
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.example-label
placeholder.png
React TypeScript
Razor

Toolbar

Adds rotate (CCW/CW), flip (H/V), zoom in/out, reset, fullscreen, and download buttons. The image responds to wheel-zoom (anchored at the cursor) and, when zoomed past 1×, drag-to-pan.

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.react-example-label
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.example-label
placeholder.png
React TypeScript
Razor

Toolbar + Croppable

Enables an aspect-ratio picker and a Crop button. Left-drag on the image draws a dashed selection rectangle (constrained to the chosen aspect). Pressing Crop rasterizes the selection to PNG via an offscreen canvas and fires OnCropApplied; the viewer then displays the cropped result. Reset reverts to the original source.

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.react-example-label
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.DemoSection.example-label
placeholder.png
React TypeScript
Razor
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.react-tab components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.blazor-tab

ImageViewer components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.class

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.parameters

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.description
Altstring?
Croppablebool
False
Downloadablebool
False
FallbackRenderFragment?
FileNamestring?
Framedbool
False
IsDirtybool
False
OutputFormatImageOutputFormat
Auto
OutputQualitydouble
0.9
SourceImageSource?
Toolbarbool
False
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: Alt
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: string?
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: Croppable
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: bool
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default: False
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: Downloadable
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: bool
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default: False
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: Fallback
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: RenderFragment?
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: FileName
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: string?
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: Framed
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: bool
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default: False
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: IsDirty
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: bool
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default: False
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: OutputFormat
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: ImageOutputFormat
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default: Auto
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: OutputQuality
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: double
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default: 0.9
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: Source
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: ImageSource?
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: Toolbar
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: bool
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.default: False

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.events

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.description
OnCancelEventCallback
OnClickEventCallback<MouseEventArgs>
OnCropAppliedEventCallback<CropResult>
OnDirtyChangedEventCallback<bool>
OnSaveEventCallback
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: OnCancel
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: EventCallback
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: OnClick
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: EventCallback<MouseEventArgs>
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: OnCropApplied
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: EventCallback<CropResult>
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: OnDirtyChanged
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: EventCallback<bool>
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: OnSave
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: EventCallback

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.methods

components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.parameters
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.description
CommitAsyncTask<CropResult>
HandleFullscreenChangebool isFullscreen
Task
HandleKeyDownstring key
bool shiftKey
Task
HandleWheeldouble deltaY
double cursorRelX
double cursorRelY
Task
ResetDirtyAsyncTask
RevertCropvoid
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: CommitAsync
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: Task<CropResult>
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: HandleFullscreenChange
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.parameters: bool isFullscreen
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: Task
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: HandleKeyDown
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.parameters: string key
bool shiftKey
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: Task
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: HandleWheel
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.parameters: double deltaY
double cursorRelX
double cursorRelY
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: Task
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: ResetDirtyAsync
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: Task
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.name: RevertCrop
components.PowerPortalsPro.Demo.Client.Customizations.Components.Documentation.ApiDocumentation.type: void