All Projects → cloudinary → Cloudinary_angular

cloudinary / Cloudinary_angular

Licence: mit
Cloudinary Angular client library

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Cloudinary angular

Angular-Firebase-Sortable-Table
Angular Firebase Sortable Table is a module that makes tables creation with firebase an easy task.
Stars: ✭ 28 (-90.82%)
Mutual labels:  angularjs, angular-components
Fef
The Front End Framework is a Thomson Reuters Tax and Accounting project to create a re-usable library for creating rich HTML based applications. The end goal is to assemble the publicly available libraries into a reference application with documentation along with best practice architecture.
Stars: ✭ 96 (-68.52%)
Mutual labels:  angular-components, angularjs
Angular Prest
pREST component for Angular
Stars: ✭ 16 (-94.75%)
Mutual labels:  angular-components, angularjs
Pesdk Android Demo
A fully customizable photo editor for your app.
Stars: ✭ 464 (+52.13%)
Mutual labels:  sdk, image-manipulation
Angular4-seed
Angular 4 Seed for Angular Forms
Stars: ✭ 37 (-87.87%)
Mutual labels:  angularjs, angular-components
Cloudinary Vue
Cloudinary components library for Vue.js application, for image and video optimization.
Stars: ✭ 76 (-75.08%)
Mutual labels:  sdk, image-manipulation
Ngx Quill Editor
🍡@quilljs editor component for @angular
Stars: ✭ 234 (-23.28%)
Mutual labels:  angular-components, angularjs
angular2-cookie-law
Angular2+ component that provides a banner to inform users about cookie law
Stars: ✭ 38 (-87.54%)
Mutual labels:  angularjs, angular-components
ng-loader
Webpack loader for AngularJs components
Stars: ✭ 28 (-90.82%)
Mutual labels:  angularjs, angular-components
Qiskit Terra
Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and algorithms.
Stars: ✭ 3,177 (+941.64%)
Mutual labels:  sdk
Angularjs Springmvc Sample
A RESTful sample using AnguarJS/Bootstrap as frontend and Spring MVC as REST API producer
Stars: ✭ 292 (-4.26%)
Mutual labels:  angularjs
Assistants Pi
Headless Google Assistant and Alexa on Raspberry Pi
Stars: ✭ 280 (-8.2%)
Mutual labels:  sdk
Faceswap Gan
A denoising autoencoder + adversarial losses and attention mechanisms for face swapping.
Stars: ✭ 3,099 (+916.07%)
Mutual labels:  image-manipulation
Angularjs Atom
An AngularJS package for Github's Atom editor
Stars: ✭ 294 (-3.61%)
Mutual labels:  angularjs
Easybluetooth
一款iOS BLE蓝牙调试工具,非常简单容易,也可以作为一个蓝牙库,快速集成和开发。 可以两步搞定蓝牙开发操作。 第一步连接设备,第二步特征读写数据。
Stars: ✭ 282 (-7.54%)
Mutual labels:  sdk
T Shirts
The first OpenSource t-shirts (probably)
Stars: ✭ 300 (-1.64%)
Mutual labels:  angularjs
Phnt
Native API header files for the Process Hacker project.
Stars: ✭ 276 (-9.51%)
Mutual labels:  sdk
Material Community Components
🐼 Angular Material Components created from the community
Stars: ✭ 280 (-8.2%)
Mutual labels:  angular-components
Cloudinary js
Cloudinary JavaScript library
Stars: ✭ 302 (-0.98%)
Mutual labels:  image-manipulation
Pyvips
python binding for libvips using cffi
Stars: ✭ 296 (-2.95%)
Mutual labels:  image-manipulation

Cloudinary

The official Cloudinary SDK for Angular.

We maintain difference branches for different versions. Cloudinary's latest Angular SDK can be found here

Cloudinary is a cloud service that offers a solution to a web application's entire image management pipeline.

Easily upload images to the cloud. Automatically perform smart image resizing, cropping and conversion without installing any complex software. Integrate Facebook or Twitter profile image extraction in a snap, in any dimension and style to match your website’s graphics requirements. Images are seamlessly delivered through a fast CDN, and much much more.

Cloudinary offers comprehensive APIs and administration capabilities and is easy to integrate with any web application, existing or new.

Cloudinary provides URL and HTTP based APIs that can be easily integrated with any Web development framework.

For Angular, Cloudinary provides an SDK for simplifying the integration even further. The SDK serves as a layer on top of one of Cloudinary's Javascript library.

Live examples

Start experimenting right away with one of these live examples:

Installation

Install the SDK version that supports the Angular version you are using:

  • For Angular 2, use 2.x
  • For Angular 4, use 4.x
  • For Angular 5-11, use 5.x

For example:

npm install @cloudinary/angular-5.x cloudinary-core --save

Usage

The module provides three types of directives:

  • A Cloudinary image component with child transformation directives for creating <image> tags and controlling its underlying chained transformations
  • A Cloudinary video component with child transformation directives for creating <video> tags with multiple video sources and settings and controlling its underlying chained transformations
  • Attribute directives for enhancing native HTML elements with Cloudinary image management capabilities

Further image manipulation options are listed in this reference.

Further video manipulation and delivery capabilities see listed in this reference.

Note that the attribute names in the docs are using snake_case, however this SDK supports both snake_case and kebab-case for attribute names, e.g. both fetch_format: 'auto' and 'fetch-format': 'auto' are eventually translated to f_auto.

Cloudinary module configuration and setup

This SDK is based on the Cloudinary JS module, however the two are decoupled, i.e. this module's Cloudinary is a configurable service to which you provide your choice of our JS module.

Example Coudinary configuration in your application's module definition:

import { NgModule } from '@angular/core';
// ...
import { CloudinaryModule, CloudinaryConfiguration } from '@cloudinary/angular-5.x';
import { Cloudinary } from 'cloudinary-core';

@NgModule({
    imports: [
        CloudinaryModule.forRoot({Cloudinary}, { cloud_name: 'your_cloud_name' } as CloudinaryConfiguration),
    ],
    bootstrap: [/* ... */]
})
export class AppModule { }

See samples folder for a complete reference project.

Creating new image tags with cl-image & cl-transformation

The cl-image component generates an <image> tag with requested transformation, type, and format. The image tag can contain optional <cl-transformation> tags that will be used as chained transformations:

    <cl-image public-id="readme" class="thumbnail inline" angle="20" format="jpg">
        <cl-transformation height="150" width="150" crop="fill" effect="sepia" radius="20"></cl-transformation>
        <cl-transformation overlay="text:arial_60:readme" gravity="north" y="20"></cl-transformation>
    </cl-image>

Will be compiled by Angular to:

    <cl-image _ngcontent-ywn-2="" public-id="readme" class="thumbnail inline" format="jpg" angle="20" ng-reflect-public-id="readme">
        <img src="http://res.cloudinary.com/{your_cloud_name}/image/upload/c_fill,e_sepia,h_150,r_20,w_150/g_north,l_text:arial_60:readme,y_20/a_20/readme.jpg">
    </cl-image>

Creating new video tags with cl-video & cl-transformation

The cl-video component generates a <video> tag with requested transformation, type, and format.

The generated <video> is created with configurable child <source> elements for all relevant formats supported by web browsers (webm, mp4 and ogv), as well as a poster thumbnail image.

The video tag can contain optional <cl-transformation> tags that will be used as chained transformations:

    <cl-video cloud-name="my_other_cloud" public-id="watchme" secure="true" class="my-videos">
        <cl-transformation overlay="text:arial_60:watchme" gravity="north" y="20"></cl-transformation>
    </cl-video>

Will be compiled by Angular to:

    <video class="my-videos" public-id="watchme" ng-reflect-public-id="watchme" 
            poster="https://res.cloudinary.com/my_other_cloud/video/upload/g_north,l_text:arial_60:watchme,y_20/watchme.jpg">
        <source src="https://res.cloudinary.com/my_other_cloud/video/upload/g_north,l_text:arial_60:watchme,y_20/watchme.webm" type="video/webm">
        <source src="https://res.cloudinary.com/my_other_cloud/video/upload/g_north,l_text:arial_60:watchme,y_20/watchme.mp4" type="video/mp4">
        <source src="https://res.cloudinary.com/my_other_cloud/video/upload/g_north,l_text:arial_60:watchme,y_20/watchme.ogv" type="video/ogg">
    </video>

Updating images and videos dynamically

You can update attributes dynamically for <cl-image> and <cl-video> elements to reload the underlying native elements with new transformations.

The following example from the sample projects demonstrates setting the opacity to 50% when hovering on top of an element:

    <cl-image
        public-id={{photo.public_id}}
        (mouseenter)="photo.isMouseOver = true"
        (mouseleave)="photo.isMouseOver = false"
        [attr.opacity]="photo.isMouseOver ? '50' : null"
    >

Attribute directives for enhancing HTML elements - clSrc, clHref, clSrcset

These directives transform the given URI to a cloudinary URL. For example:

    <img clSrc="https://cloudinary.com/images/logo.png" type="fetch" fetch-format="auto" quality="auto">

Will be compiled by Angular to:

    <img clSrc="https://cloudinary.com/images/logo.png" fetch-format="auto" quality="auto" type="fetch" ng-reflect-clSrc="https://cloudinary.com/images/logo.png" 
    src="http://res.cloudinary.com/{your_cloud_name}/image/fetch/f_auto,q_auto/https://cloudinary.com/images/logo.png">

See additional usage examples here and in the sample projects.

Samples

You can find our sample projects, along with documentation in the samples folder.

ℹ️ In order to run the samples you need to create a new file called config.ts with your cloud credentials. Copy config.ts.sample in the sample of your choice and replace the placeholders with your credentials.

What's in the box

Both sample applications demonstrate a basic photo gallery showcasing basic image transformations and upload of new images either by a file input dialog or by drag-and-drop.

The samples differ by their bundling solution and upload implementation:

Please consult with the respective README file of each sample for usage and additional information.

Development

🙌 This module supports the following npm scripts:

  • lint - Runs tslint on **/*.ts
  • test - Compiles TypeScript and runs unit tests on the generated JS files, re-running tests automatically on chages
  • test-once - Compiles TypeSCript and executes unit tests once, closing the browser once it's done
  • pree2e - Updates WebDriver binary
  • start-sample - Starts the photo album sample, without automatically opening the browser and navigating to the started app
  • start-sample:jquery - Same as start-sample for the jQuery sample
  • install-sample-from-source - Compiles TypeScript, packs this module and installs it into samples/photo_album
  • install-sample-from-source:jquery - Same as install-sample-from-source for the jQuery sample
  • e2e - Runs install-sample-from-source, starts the app and runs protractor tests on the started app
  • e2e:jquery - Same as e2e for the jQuery sample
  • tsc - Runs the tsc compiler
  • tsc:w - Runs the tsc compiler and watches for changes
  • webdriver:update - Updates WebDriver binary

Additional resources

Additional resources are available at:

Support

You can open an issue through GitHub.

Contact us https://cloudinary.com/contact

Stay tuned for updates, tips and tutorials: Blog, Twitter, Facebook.

Join the Community

Impact the product, hear updates, test drive new features and more! Join here.

License

Released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].