skija - Skia bindings for Java

  •        475

Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. Skija is a high-quality Java bindings for Skia.

https://github.com/JetBrains/skija

Tags
Implementation
License
Platform

   




Related Projects

SkiaSharp - The Skia 2D Graphics library from Google exposed to

  •    CSharp

SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (https://skia.org/). It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.The API Documentation is available on the web to browse.

skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

  •    C++

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

SkCodecFuzzer - Fuzzing harness for testing proprietary image codecs supported by Skia on Android

  •    C++

SkCodecFuzzer is a small utility for testing the security and reliability of C/C++ image codecs supported by the Skia graphics library. In Android, these parsers are reachable through standard interfaces such as BitmapFactory and BitmapRegionDecoder and execute in the context of local apps (not a sandboxed media server), which exposes them to remote attacks via MMS, chat apps, emails etc. While the decoders available in Android by default (bmp, png, jpeg, gif, ...) are all open-source and already subject to extensive fuzzing, there may exist additional lesser-known, proprietary codecs added by device manufacturers. Such codecs aren't put under the same scrutiny due to their closed-source nature, and they may go unaudited, non-fuzzed or even completely unnoticed for many years. A notable example is the Qmage format (.qmg file extension), which was introduced in Skia on Samsung Android phones in late 2014, but was only recognized as an attack surface at the end of 2019. It has been used as the container for image resources in built-in Samsung APKs and themes in some (but not all) firmwares. The loader in this repository was used by Google Project Zero to run Qmage fuzzing at scale in January 2020, resulting in the uncovering of 5218 unique crashes, including hundreds of memory corruption issues (buffer overflows, use-after-free's etc.). They were subsequently reported to Samsung on January 28 as issue #2002 in the PZ bug tracker, and fixed by the vendor in May 2020. For additional context and more information about .qmg files, we recommend to refer to that tracker entry as it aims to explain our effort in great detail. The purpose of this harness is to link to Android's precompiled ARM(64) Skia libraries (libhwui.so or libskia.so on older versions) and use its SkCodec class to load an input file, in the same way that BitmapFactory::doDecode decodes images on real Android devices. It can run on both physical phones with ARM CPUs and in an emulated qemu-aarch64 environment on any host CPU of choice, enabling effective parallelized fuzzing.

gg - Go Graphics - 2D rendering in Go with a simple API.

  •    Go

gg is a library for rendering 2D graphics in pure Go.There are lots of examples included. They're mostly for testing the code, but they're good for learning, too.

blend2d - 2D Vector Graphics Engine Powered by a JIT Compiler

  •    C++

2D Vector Graphics Powered by a JIT Compiler. See blend2d.com page for more details.


vkvg - Vulkan 2D graphics library

  •    C

vkvg is an open source 2D graphics library written in c using Vulkan as backend. It's api follows the same pattern as Cairo, but new functions and original drawing mechanics may be added. vkvg is in early development stage, api may change, any contribution is welcome.

Synfig Studio - 2D animation software

  •    C++

Synfig Studio is a free and open-source 2D animation software, designed as powerful industrial-strength solution for creating film-quality animation using a vector and bitmap artwork. It eliminates the need to create animation frame-by frame, allowing you to produce 2D animation of a higher quality with fewer people and resources.

xodus - JetBrains Xodus is a Java transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub

  •    Java

JetBrains Xodus is a transactional schema-less embedded database that is written in Java and Kotlin. It was initially developed for JetBrains YouTrack, an issue tracking and project management tool. Xodus is also used in JetBrains Hub, the user management platform for JetBrains' team tools, and in some internal JetBrains projects.Read more about managing dependencies.

lyon - 2D graphics rendering experiments in rust.

  •    Rust

A path tessellation library written in rust for GPU-based 2D graphics rendering. For now the goal is to provide efficient SVG-compliant path tessellation tools to help with rendering vector graphics on the GPU. For now think of this library as a way to turn complex paths into triangles for use in your own rendering engine.

Magelan - Java 2D Graphics Editor

  •    Java

This project provides a library of easy to use 2D graphics editor tools and a functional and extendable stand-alone graphics editor.

2D Computer Graphics / Imaging Framework

  •    Java

j2dcg: Java 2D Computer Graphics and Imaging Framework. This framework is targeted for academic use, to reduce the amount of Java / User Interface coding for assignements targeting both raster and vector graphics.

gi - Native Go (golang) Graphical Interface system (2D and 3D), built on GoKi tree framework

  •    Go

package gi is a scenegraph-based 2D and 3D GUI / graphics interface (Gi) in Go. NOTE: Requires Go version 1.10+ due to use of math.Round.

draw2d - 2D rendering for different output (raster, pdf, svg)

  •    Go

Package draw2d is a pure go 2D vector graphics library with support for multiple output devices such as images (draw2d), pdf documents (draw2dpdf) and opengl (draw2dgl), which can also be used on the google app engine. It can be used as a pure go Cairo alternative. draw2d is released under the BSD license. See the documentation for more details. Click on an image above to get the pdf, generated with exactly the same draw2d code. The first image is the output of samples/geometry. The second image is the result of samples/postcript, which demonstrates that draw2d can draw postscript files into images or pdf documents with the ps package.

fbg - FBGraphics (FBG) is a simple C 24 bpp graphics library for the Linux framebuffer with parallelism support

  •    C

FBGraphics (FBG) is a simple C 24 bpp graphics library for the Linux framebuffer with parallelism support. The library is relatively generic, most functions (including parallel ones) only manipulate buffers, it should be easy to extract some parts and adapt it to other means, you may want to check fbg_setup fbg_draw fbg_flipand fbg_close for that.

skiko - Kotlin MPP bindings to Skia

  •    Kotlin

Skiko (short for Skia for Kotlin) is the graphical library exposing significant part of Skia library APIs to Kotlin, along with the gluing code for rendering context. At the moment, Linux(x86_64 and arm64), Windows(x86_64) and macOS(x86_64 and arm64) builds for Kotlin/JVM are available. To use latest development snapshot use version 0.0.0-SNAPSHOT.

snowy - Small Image Library for Python 3

  •    Python

This is a tiny Python 3 module for manipulating and generating images. Snowy is somewhat similar to pillow and scikit-image, but has a small feature set with some unique abilities. Painting and 2D paths are outside the scope of the library. See pycairo or skia-pathops.

ray - A Ruby library for games — supporting audio spatialization and 2D (and even 3D!) graphics

  •    C

A Ruby library for games — supporting audio spatialization and 2D (and even 3D!) graphics






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.