I am creating a kind of 'map' in my app. This is basically only viewing an image with an imageView/scrollView. However, the image is huge. Like 20,000x15,000 px or something. How can I tile this image so that it fits? When the app tiles by itself, it uses way too much memory, and I want this to be done before the app I launched, and just include the tiled, not the original image. Can photoshop do this? I have not done a complete search for this yet, as I am away, and typing on an iPhone with limited network connection..
Create tiled images for CATiledLayer
2.7k views Asked by Sti At
2
There are 2 answers
0
Andrea
On
CATiledLayer is one way to do it and of course the best if you can pre-tile the images downloading them from the internet (pay attention on how many connection you are going to open) or embedding them(increasing overall app size), the other is memory map the image on the file system (but an image with that res could take about 1GB), take a look at this question it could be an intersteing topic SO question about low memory scenario
Related Questions in IOS
- URLSession requesting JSON array from server not working
- Incorrect display of LinearGradientBrush in IOS
- Module not found when building flutter app for IOS
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- Expo Deep linking on iOS is not working (because of Google sign-in?)
- On iOS, the keyboard does not offer a 6-character SMS code
- Hi, there is an error happened when I build my flutter app, after I'm installing firebase packages occurs that error
- The copy/paste functionalities don't work only on iOS in the Flutter app
- Hide LiveActivityIntent Button from Shortcuts App
- While Running Github Actions Pipeline: No Signing Certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
- Actionable notification api call not working in background
- Accessibility : Full keyboard access with scroll view in swiftui
- There is a problem with the request entity - You are not allowed to create 'iOS' profile with App ID 'XXXX'
- I am getting "binding has not yet been initialized" error when trying to connect firebase with flutter
Related Questions in COCOA-TOUCH
- How to get MetricKit SignPost Metrics data formulated into battery usage % for feature wise usage in iOS app?
- Clicking the right mouse button. Mac M1 (Designed for iPad)
- iOS Swift : How to detect that other apps are being use by the user or not?
- Text background color for newlines in TextKit 2
- How to build ios release bundle in flutter app?
- will my application be rejected if i use UIApplication.value(forKeyPath: #keyPath(UIApplication.shared)) as? UIApplication
- Check number of touches in hitTest - Swift
- CallDirectory app extension runs out of memory without beginning request
- How do I properly design my own custom table cell?
- Reorder multiple items in a UICollectionView
- How can I transfer data between two files without segue?
- Deleting from the start of the UITextfield clears the whole textfield
- Error Running terminal command in Mac App
- How to get C char * string value in swift?
- TextView adds bottom padding/space when text is one line
Related Questions in UISCROLLVIEW
- ScrollView disable on Device Orientation
- How to detect user scrolll on the scrollview
- UITableView gets cut off at the bottom / UIScrollView, UITableView, uitableviewdiffabledatasource
- Hide a Url address bar on scroll in Flutter Web (Mobile)
- When using UIScrollView, how can I fade the left and right edges if content is outside the visible bounds?
- UIScrollView is unexpectedly initially zoomed in in UIViewControllerRepresentable
- UITextField Jumps Above UIImageView When Keyboard Appears
- How to right align a UIStackView inside a UIScrollView when the stack view's size is smaller than scroll view?
- How to make ScrollView includes WebView in iOS
- Why is my UIView list not visible in my UIStackView and UIScrollView?
- WKWebView crash [WKScrollView _systemContentInset]
- SwiftUI / Animation based on scrollPosition in ScrollView
- SwiftUI ScrollView sliding weird
- Replicating iOS modal card UIScrollView dismiss behavior
- how to make UIScrollView's dynamic height
Related Questions in UIIMAGEVIEW
- Changing the color UIImage
- UIScrollView automatically scrolls UIImageView to top on pinch-to-zoom
- Padding around UIImage in a UIImageView with a background color
- After UIImage rotation white lines appear
- Why CGImage size changed after resize with transparent background? And how to lower the memory cost?
- iOS - Obtaining localised system image
- Increasing memory usage in iOS using a UISlider to update a UIImageView's image
- UIImageview is not scaling to its frame when image is set
- Cannot force image to be rounded in custom UIImageView
- swift: load UIImage from local path
- How do I make several ImageViews scale based on the screen size without changing their position relative to each other?
- PNG images render incorrectly in running iOS app
- Collectionview cells are not showing according to screen width
- UIImage Sizing in Dynamic Collection View Cell with Autolayout and UICollectionViewCompositionalLayout
- imageView.layer.origin not working correctly in UIPageViewController's first view controller
Related Questions in CATILEDLAYER
- CATiledLayer in NSView flashes on changing contentsScale
- Is there a way to asynchronously load parts of a large SVG shape?
- Best practices to load very large images in a scroll view for zooming?
- iOS : CGContextStrokePath(context) crashes with EXC_BAD_ACCESS in iOS 12
- Is it possible to draw a line outside rect bounds in draw(_ rect: CGRect) function in a UIView subclass that is backed by a CATiledLayer?
- SQLite3 query in UIView draw(_:) not working with CATiledLayer
- How CATiledLayer works internally
- How to draw parts of a UIView as it becomes visible inside UICollectionView?
- Draw image in CATiledLayer with given rect
- EXC_BAD_ACCESS when stroking UIBezierPath while translating using CATiledLayer
- Specify custom zoom levels manually in CATiledLayer?
- Synchronizing CATiledLayer drawing to screen?
- How to display a huge image (size 200G loading from network) in iOS?
- CALayer not drawing where outlined
- CATiledLayer shows previous tiles
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Apple has a project called PhotoScroller. It supports panning and zooming of large images. However, it does this by pre-tiling the images - if you look in the project you will see hundreds of tiles for various zoom sizes. The project however does NOT come with any kind of tiling utility.
So what some people have done is create algorithms or code that anyone can use to create these tiles. I support an open source project PhotoScrollerNetwork that allows people to download huge jpegs from the network, tile them, then display them as PhotoScroller does, and while doing research for this I found several people who had posted tiling software.
I googled "PhotoScroller tiling utility" and got lots of hits, including one here on SO