HOME

TheInfoList



OR:

The Skia Graphics Engine or Skia is an open-source 2D
graphics library A graphics library is a program library designed to aid in rendering computer graphics to a monitor. This typically involves providing optimized versions of functions that handle common rendering tasks. This can be done purely in software and runn ...
written in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
. Skia abstracts away platform-specific graphics API (which differ from one to another). Skia Inc. originally developed the library;
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
acquired it in 2005, and then released the software as open source licensed under the New BSD
free software license A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) ...
in 2008.


Overview

In order to stay multi-platform Skia supports several (platform-dependent) back-ends. These include: * CPU software
rasterization In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whi ...
*
Portable Document Format Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating syste ...
(PDF) output *
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
-accelerated rendering by using: **
ANGLE In Euclidean geometry, an angle is the figure formed by two rays, called the '' sides'' of the angle, sharing a common endpoint, called the '' vertex'' of the angle. Angles formed by two rays lie in the plane that contains the rays. Angles a ...
backed which translates
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accele ...
calls into vendor's native APIs **
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
, and
Metal A metal (from Greek μέταλλον ''métallon'', "mine, quarry, metal") is a material that, when freshly prepared, polished, or fractured, shows a lustrous appearance, and conducts electricity and heat relatively well. Metals are typicall ...
. *
Scalable Vector Graphics Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sinc ...
(SVG) * XPS Skia is most similar in purpose to
Cairo Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the Capital city, capital of Egypt and its largest city, home to 10 million people. It is also part of the List of urban agglomerations in Africa, largest urban agglomeration in Africa, List of ...
or Pathfinder (meaning that it focuses on drawing) rather than to other more elaborate APIs like that one of Qt that provide their own widgets and UI description language etc.


Application

The library is used in Google Chrome,
ChromeOS ChromeOS, sometimes stylized as chromeOS and formerly styled as Chrome OS, is a Linux-based operating system designed by Google. It is derived from the open-source ChromiumOS and uses the Google Chrome web browser as its principal user interfa ...
,
ChromiumOS ChromiumOS is a free and open-source operating system designed for running web applications and browsing the World Wide Web. It is the open-source version of ChromeOS, a Linux-based operating system made by Google. Like ChromeOS, ChromiumOS is ...
, Mozilla Firefox,
Mozilla Thunderbird Mozilla Thunderbird is a free and open-source cross-platform email client, personal information manager, news client, RSS and chat client developed by the Mozilla Foundation and operated by subsidiary MZLA Technologies Corporation. The projec ...
, Android,
Firefox OS Firefox OS (project name: ''Boot to Gecko'', also known as ''B2G'') is a discontinued open-source operating system made for smartphones, tablet computers, smart TVs, and dongles designed by Mozilla and external contributors. It is based on the ...
,
LibreOffice LibreOffice () is a free and open-source office productivity software suite, a project of The Document Foundation (TDF). It was forked in 2010 from OpenOffice.org, an open-sourced version of the earlier StarOffice. The LibreOffice suite co ...
(from version 7.0), Flutter and Avalonia (from Alpha 4). The Skia library is also present on the
BlackBerry PlayBook The BlackBerry PlayBook is a Tablet computer#Mini tablets, mini tablet computer developed by BlackBerry (company), BlackBerry and made by Quanta Computer, an original design manufacturer (ODM).
, though the extent of its usage is unclear.


Supported platforms

* Windows 7, 8, 8.1, 10 * macOS 10.10.5 or later * iOS 8 or later * Android 4.1 (JellyBean) or later * Ubuntu 14.04+, Debian 8+, openSUSE 13.3+, or Fedora Linux 24+ * Web Browsers


History

Created in 2004 by Mike Reed and Cary Clark in Chapel Hill North Carolina. It was quietly acquired by Google in 2005.


See also

*
Direct2D Direct2D is a 2D vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 (with Platform Update i ...
* Starling Framework *
Anti-Grain Geometry Anti-Grain Geometry (AGG) is a 2D rendering graphics library written in C++. It features anti-aliasing and sub-pixel resolution. It is not a graphics library, per se, but rather a framework to build a graphics library upon. The library is opera ...
* CoreGraphics *
Cairo Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the Capital city, capital of Egypt and its largest city, home to 10 million people. It is also part of the List of urban agglomerations in Africa, largest urban agglomeration in Africa, List of ...
*
QuickDraw GX QuickDraw GX was a replacement for the QuickDraw (QD) 2D graphics engine and Printing Manager inside the classic Mac OS. Its underlying drawing platform was a resolution-independent object oriented retained mode system, making it much easier for ...


References


External links

* *http://www.slideshare.net/snailee/skia-freetype-android-2d-graphics-essentials * https://github.com/servo/pathfinder


YouTube

* {{YouTube, OmfliNQsk88, Skia Path Ops : High Performance Set Operations for Geometry
Google Developers: Painting in Chromium
2012 on YouTube Google acquisitions Graphics libraries Software using the BSD license