1.0.12 • Published 3 years ago

@creativeacer/ngx-image-display v1.0.12

Weekly downloads
96
License
LGPL-3.0
Repository
github
Last release
3 years ago

NgxImageDisplay

Ngx-Image-Display : Responsive image container

npm version Build Status CodeFactor

About


This project can be used to display images on a page.

If you like the project please Star it .
Feel free to contribute!

Example

Core features


  1. Display multiple images in a set amount of columns or filling the available space.
  2. View selected image in full screen.
  3. Enable various hover filters.
  4. Show image text in overlay.
  5. Responsive Design.
  6. Support for Image url and base64 input.

Demo ( open code )

ngx-image-display

Fullscreen demo ( live )

ngx-image-display

Available inputs


The component accepts the following inputs.

InputInterfaceDescription
imagesImageDataThis will be the array containing the images you would like the module to display.
sameSizeSameSizeConfigThis will define if the images are scaled to be the same size or not with reference to the selected height.
displayconfigDisplayConfigThis will set the general configuration for the module.
imageEffectImageEffectThis will enable or disable the selected effect when a user hovers over an image.

Input Options

The following settings are available

Image settings options

OptionDefault valueDescription
valuerequiredThis contains the url or base64 encoded value for the image
subtextemptyIf a string is entered here it will be displayed on the image through an overlay
subtextOverlaybottomThis will set the height of the overlay that is shown on the image. available options: 'bottom' - 'half' - 'full'
extensionnoneYou can set this to the correct extension of the provided image.

Image Settings

Container settings options

OptionDefault valueDescription
columnsAuto-fitThis wil set the amount of columns to display with images. ex: 2 will provide you with 2 images next to each other. if no columns are provided the application will place as many images next to each other as possible
imageminwidth300pxThis is the minimum resolution for an image, when the containing div is scaled smaller than this an image column will be removed.
fullScreenViewfalseIf set to true the user will have the option to view each image in fullscreen ( shown in the image in the top right corner )
containerwidth100%Set the width for the image display container.
containerheight100%Set the height for the image display container.

Container Settings

Hover effect settings

OptionDefault valueDescription
hoverEffectActivefalseThis will enable or disable the hover effect when the mouse hovers over an image.
hoverEffect'zoom'This will set the type of effect when hovering over an image. Possible settings: 'zoom' - 'lighten' - 'darken' - 'greyscale' - 'sepia'

Normalzoomlighten
darkengreyscalesepia

sameSize option settings

OptionDefault valueDescription
activefalseThis will set all images in the display to the same height if true.
imgContainerHeightrequired if active = trueThis will be the height all images have if the samesize image active parameter has been set to true.

Default Settings

If no Display configuration is provided the default settings will be used.

Available outputs


The component outputs the follow events that can be triggered on.

Event nameDescription
onImageSelectedThis will emit the image that has been selected when a user clicks on an image. ex: (onImageSelected)="function($event)"

Installation


To install this library, run:
npm

$ npm install @creativeacer/ngx-image-display --save

yarn

$ yarn add @creativeacer/ngx-image-display

Using this library


From your Angular AppModule:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

// Import the library
import { NgxImageDisplayModule } from '@creativeacer/ngx-image-display';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    NgxImageDisplayModule.forRoot() // <-- Add this line
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Once the library is imported, you can use its component in your Angular application:

<!-- You can now use NgxImageDisplay component in app.component.html -->
<h1>
  {{title}}
</h1>
<!--[images] is required-->
<ngx-image-display [images]="images" [sameSize]="SameSizeConfig" [ImageEffect]="ImageEffect" [displayconfig]="displayconfig" (onImageSelected)="logImage($event)"></ngx-image-display>

Interfaces

DisplayConfig {
    columns?: number;
    imageminwidth?: string;   
    fullScreenView?: boolean;  
    containerwidth?: string;  
    containerheight?: string;  
    onclick?: Function;
}
ImageEffect {
    hoverEffectActive?: boolean;
    hoverEffect?: 'zoom' | 'lighten' | 'darken' | 'greyscale' | 'sepia';
}
SameSizeConfig {
  active: boolean;
  imgContainerHeight: string;
}
ImageData  {
    type: 'base64' | 'url';  
    imageData: BaseImage;
} 
BaseImage {
    value: string;  
    subtext?: string;  
    subtextOverlay?: string;
    extension?: 'jpg' | 'jpeg' | 'png' | 'svg';  
}

example value for base64

'data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+go...'

1.0.12

3 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.1.15

5 years ago

0.1.14

5 years ago

0.1.13

5 years ago

0.1.12

5 years ago

0.1.11

5 years ago

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago