Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
D
dz_TZImagePickerController
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shuijing
dz_TZImagePickerController
Commits
72188ba2
Commit
72188ba2
authored
Aug 23, 2016
by
tanzhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增获取原图NSData数据的方法
parent
2eb5b0a8
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
0 deletions
+32
-0
TZImagePickerController/TZImagePickerController/TZImageManager.h
...PickerController/TZImagePickerController/TZImageManager.h
+1
-0
TZImagePickerController/TZImagePickerController/TZImageManager.m
...PickerController/TZImagePickerController/TZImageManager.m
+31
-0
No files found.
TZImagePickerController/TZImagePickerController/TZImageManager.h
View file @
72188ba2
...
...
@@ -47,6 +47,7 @@
-
(
PHImageRequestID
)
getPhotoWithAsset
:(
id
)
asset
completion
:(
void
(
^
)(
UIImage
*
photo
,
NSDictionary
*
info
,
BOOL
isDegraded
))
completion
;
-
(
PHImageRequestID
)
getPhotoWithAsset
:(
id
)
asset
photoWidth
:(
CGFloat
)
photoWidth
completion
:(
void
(
^
)(
UIImage
*
photo
,
NSDictionary
*
info
,
BOOL
isDegraded
))
completion
;
-
(
void
)
getOriginalPhotoWithAsset
:(
id
)
asset
completion
:(
void
(
^
)(
UIImage
*
photo
,
NSDictionary
*
info
))
completion
;
-
(
void
)
getOriginalPhotoDataWithAsset
:(
id
)
asset
completion
:(
void
(
^
)(
NSData
*
data
,
NSDictionary
*
info
))
completion
;
/// Save photo 保存照片
-
(
void
)
savePhotoWithImage
:(
UIImage
*
)
image
completion
:(
void
(
^
)(
NSError
*
error
))
completion
;
...
...
TZImagePickerController/TZImagePickerController/TZImageManager.m
View file @
72188ba2
...
...
@@ -513,6 +513,37 @@ static CGFloat TZScreenScale;
}
}
-
(
void
)
getOriginalPhotoDataWithAsset
:(
id
)
asset
completion
:(
void
(
^
)(
NSData
*
data
,
NSDictionary
*
info
))
completion
{
if
([
asset
isKindOfClass
:[
PHAsset
class
]])
{
PHImageRequestOptions
*
option
=
[[
PHImageRequestOptions
alloc
]
init
];
option
.
networkAccessAllowed
=
YES
;
[[
PHImageManager
defaultManager
]
requestImageDataForAsset
:
asset
options
:
option
resultHandler
:^
(
NSData
*
_Nullable
imageData
,
NSString
*
_Nullable
dataUTI
,
UIImageOrientation
orientation
,
NSDictionary
*
_Nullable
info
)
{
BOOL
downloadFinined
=
(
!
[[
info
objectForKey
:
PHImageCancelledKey
]
boolValue
]
&&
!
[
info
objectForKey
:
PHImageErrorKey
]);
if
(
downloadFinined
&&
imageData
)
{
if
(
completion
)
completion
(
imageData
,
info
);
}
}];
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
}
else
if
([
asset
isKindOfClass
:[
ALAsset
class
]])
{
ALAsset
*
alAsset
=
(
ALAsset
*
)
asset
;
ALAssetRepresentation
*
assetRep
=
[
alAsset
defaultRepresentation
];
#pragma clang diagnostic pop
dispatch_async
(
dispatch_get_global_queue
(
0
,
0
),
^
{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
CGImageRef
originalImageRef
=
[
assetRep
fullResolutionImage
];
#pragma clang diagnostic pop
UIImage
*
originalImage
=
[
UIImage
imageWithCGImage
:
originalImageRef
scale
:
1
.
0
orientation
:
UIImageOrientationUp
];
NSData
*
data
=
UIImageJPEGRepresentation
(
originalImage
,
0
.
9
);
dispatch_async
(
dispatch_get_main_queue
(),
^
{
if
(
completion
)
completion
(
data
,
nil
);
});
});
}
}
#pragma mark - Save photo
-
(
void
)
savePhotoWithImage
:(
UIImage
*
)
image
completion
:(
void
(
^
)(
NSError
*
error
))
completion
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment