{"id":16948863,"url":"https://github.com/timoliver/largeimagedownsizing","last_synced_at":"2025-04-11T20:12:42.883Z","repository":{"id":145129930,"uuid":"540746569","full_name":"TimOliver/LargeImageDownsizing","owner":"TimOliver","description":"Mirror of Apple's sample code for partially decoding regions of images into memory","archived":false,"fork":false,"pushed_at":"2022-09-24T07:35:40.000Z","size":8103,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-11T20:12:38.064Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TimOliver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-24T07:30:36.000Z","updated_at":"2025-04-10T15:46:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"e0a69445-a5aa-4f2d-9f7e-c53ff14c4c47","html_url":"https://github.com/TimOliver/LargeImageDownsizing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FLargeImageDownsizing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FLargeImageDownsizing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FLargeImageDownsizing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FLargeImageDownsizing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TimOliver","download_url":"https://codeload.github.com/TimOliver/LargeImageDownsizing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248473126,"owners_count":21109628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T21:52:34.208Z","updated_at":"2025-04-11T20:12:42.874Z","avatar_url":"https://github.com/TimOliver.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"### LargeImageDownsizing ###\n\n===========================================================================\nDESCRIPTION:\n\nThis code sample demonstrates a way to support displaying very large images in limited memory environments by turning a large image on disk into a smaller image in memory. This is useful in situations where the original image is too large to fit into memory as required for it to be displayed.\n\nHaving useful implications in supporting user defined documents, it should be noted that the photo roll or document sharing drop are the locations that a large image would exist. For simplicity this sample reads a large image from the bundle. \n\nSupported formats are: PNG, TIFF, JPEG. Unsupported formats: GIF, BMP, interlaced images.\n\nNote: constants are defined in LargeImageDownsizingViewController.m that are stable yet reasonably performant given memory availability for those individual iOS devices. Therefore, you may need to adjust these settings before running on your device. \n\nThe constants demonstrate parameters to the algorithm and are intended as initial/sample values only. In your application, reasonable values could be chosen at runtime based on the hardware profile of the target device, and the amount of memory taken by the rest of your application. \n \n===========================================================================\nBUILD REQUIREMENTS:\n\niOS SDK 7.0 or later\n\n===========================================================================\nRUNTIME REQUIREMENTS:\n\niOS OS 6.0 or later\n\n===========================================================================\nPACKAGING LIST:\n\nView Controllers\n----------------\n \nLargeImageDownsizingViewController.h, .m\nThe main view controller of the application. It kicks off the downsizing routine and updates an image view \nshowing the current progress as the resulting image is pieced together. When the downsize completes, the image \nview is swapped out for a scroll view that contains the resulting image to allow for zooming and panning to \ninspect the levels of detail of the resulting image.\n \nViews\n----------------\nImageScrollView.h, .m\nSubclass of UIScrollView that contains the large image and provides built in support for zooming and scrolling.\n\nTiledImageView.h, .m\nSubclass of UIView with layerClass method overridden to return a CATiledLayer. This provides built in support for tile-based rendering.\n \nApplication Entry point\n-------------------------\nLargeImageDownsizingAppDelegate.h, .m\nInstalls the main view controller.\n \nMainWindow.xib\nLoaded automatically by the application. Creates the application's delegate, window, and superview.\n \n===========================================================================\nCHANGES FROM PREVIOUS VERSIONS:\n \nVersion 1.0\n- First version.\n\nVersion 1.1\n- Updated for iOS 7 SDK. \n \n===========================================================================\nCopyright (C) 2011-2014 Apple Inc. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoliver%2Flargeimagedownsizing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimoliver%2Flargeimagedownsizing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoliver%2Flargeimagedownsizing/lists"}