# PhotoView **Repository Path**: HarmonyOS-tpc/PhotoView ## Basic Information - **Project Name**: PhotoView - **Description**: PhotoView aims to help produce an easily usable implementation of a zooming openharmony Image Component. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 2 - **Created**: 2021-04-01 - **Last Updated**: 2025-02-12 ## Categories & Tags **Categories**: harmonyos-advanced **Tags**: None ## README # PhotoView PhotoView aims to help produce an easily usable implementation of a zooming openharmony Image Component. ## Dependency add the library to your module `build.gradle` ```gradle dependencies { implementation 'io.openharmony.tpc.thirdlib:PhotoView:1.1.1' } ``` ## Features - Out of the box zooming, using multi-touch and double-tap. - Scrolling, with smooth scrolling fling. - Works perfectly when used in a scrolling parent . - Allows the application to be notified when the displayed Matrix has changed. Useful for when you need to update your UI based on the current zoom/scroll position. - Allows the application to be notified when the user taps on the Photo. ## Usage There is a [sample](https://gitee.com/openharmony-tpc/PhotoView/tree/master/entry) provided which shows how to use the library in a more advanced way, but for completeness, here is all that is required to get PhotoView working: ```xml ``` or ```java PhotoView photoView = (PhotoView) findViewById(ResourceTable.Id_photo_v); photoView.setPixelMap(ResourceTable.Media_wallpaper); or photoView.setPixelMap(pixelMap); photoView.setImageElement(element); photoView.setImageAndDecodeBounds(ResourceTable.Media_wallpaper); ``` Add temporary solution for PageSlider ``` java public class PageProvider extends PageSliderProvider { ... @Override public Object createPageInContainer(ComponentContainer componentContainer, int i) { final int data = list.get(i); PhotoView view = new PhotoView(context); ... view.setPageSlider(slider); //add componentContainer.addComponent(view); return view; } } ``` ## Subsampling Support This library aims to keep the zooming implementation simple. If you are looking for an implementation that supports subsampling, check out [this project](https://gitee.com/openharmony-tpc/subsampling-scale-image-view) License -------- Copyright 2018 Chris Banes 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.