saket / telephoto

Building blocks for designing media experiences in Compose UI
https://saket.github.io/telephoto/
Apache License 2.0
869 stars 28 forks source link
android compose image sub-sampling subsampling zoom zoomable

logo logo

https://github.com/saket/telephoto/assets/2387680/77d559f4-04cd-459b-be90-fb272e7a1ee0

Designing a cohesive media experience for Android can be a lot of work. Telephoto aims to make that easier by offering some building blocks for Compose UI.

Zoomable Image

Drop-in replacement for Image() composables featuring support for pan & zoom gestures and automatic sub‑sampling of large images that'd otherwise not fit into memory.

Modifier.zoomable()

ZoomableImage's gesture detector, packaged as a standalone Modifier that can be used with non-image composables.

See project website for full documentation.

License

Copyright 2023 Saket Narayan.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.