- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
信息:使用 Swift 和 CGImageSourceCreateWithURL 函数。
我正在尝试从 URL 加载文件,然后编辑包含该特定照片的所有数据的字典。
这是 .swift 文件中的代码。
let url = NSURL(string: "http://jwphotographic.co.uk/Images/1.jpg")
let imageSource = CGImageSourceCreateWithURL(url, nil)
let imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil) as Dictionary
println(imageProperties)
//this is an example
let aperture = imageProperties[kCGImagePropertyGPSLatitude] as! NSNumber!
/*
//these are all being defined as nil
//Load the ones from the exif data of the file
let lensUsed = imageProperties[kCGImagePropertyExifFocalLength]
let aperture = imageProperties[kCGImagePropertyExifApertureValue] as!
let isoSpeed = imageProperties[kCGImagePropertyExifISOSpeedRatings] as! NSNumber
let latitude = imageProperties[kCGImagePropertyGPSLatitude] as! NSNumber
let longitude = imageProperties[kCGImagePropertyGPSLongitude] as! NSNumber
let shutterSpeed = imageProperties[kCGImagePropertyExifShutterSpeedValue] as! NSNumber
let cameraName = imageProperties[kCGImagePropertyExifBodySerialNumber] as! NSNumber
*/
println(aperture)
尽管图像属性按预期打印所有数据,但无论我尝试从 imageProperties 字典中提取什么 - 它始终返回为 null - 例如示例中的 'aperture'。 imageProperties 打印为;
[{TIFF}: {
Artist = JOHN;
Copyright = "johnrwatson0@gmail.com";
DateTime = "2015:07:31 21:07:05";
Make = Canon;
Model = "Canon EOS 7D Mark II";
ResolutionUnit = 2;
Software = "Adobe Photoshop Lightroom 6.0 (Macintosh)";
XResolution = 72;
YResolution = 72;
}, {IPTC}: {
Byline = (
JOHN
);
CopyrightNotice = etc.. etc..
我已经做了很多研究和测试,但我根本无法弄清楚我在访问这本字典中的元素时做错了什么 - 有人能给我一个例子,我如何将变量设置为“模型”元素在字典里面?
câu trả lời hay nhất
在 Swift 3.0 中我找到了以下解决方案
let url = NSURL(string: "http://jwphotographic.co.uk/Images/1.jpg")
let imageSource = CGImageSourceCreateWithURL(url, nil)
let imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil) as Dictionary?
let exifDict = imageProperties?[kCGImagePropertyExifDictionary]
现在您可以通过例如访问 exif 标签
let dateTimeOriginal = exifDict?[kCGImagePropertyExifDateTimeOriginal]
Swift.print("dateTimeOriginal: \(dateTimeOriginal)")
您将获得可选值,您必须测试是否有值或 nil。有关可用属性常量的列表,请查看 apple documentation .
关于ios - 快速访问 EXIF 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888319/
Làm cách nào để đổi tên biến trong vòng lặp? Ví dụ: số 1, số 2, số 3, số 4? var array = [2,4,6,8] func ap (number1: Int
Tôi muốn đặt màu nền của Chế độ xem và thay đổi màu này sang màu khác sau một độ trễ nhất định. Đây là cách tôi đã thử: print("setting color 1") self.view.backgroundColor = UICo
Tôi gặp sự cố khi sử dụng phiên nhanh. Dữ liệu phiên không tồn tại giữa các yêu cầu. Như bạn có thể thấy trong đoạn mã bên dưới, tuyến /join đặt một số thuộc tính phiên, nhưng khi /sur
Tôi đang cố gắng để có được một kết quả rất đơn giản từ trình kết xuất lá cho vòng lặp Steam for nhanh. Tôi đang tải lên tệp HTML của lá vì nó không chấp nhận mã được định dạng chính xác ở đây - mã pizza.swift bên dưới - nhập
Có bạn nào có link tốt chia sẻ với mình nhé? Tôi đang tìm một trình soạn thảo dành cho lập trình viên NHANH CHÓNG có thể mở các tệp chứa hơn 100.000 dòng mã rất nhanh? Hiện tại mình đang dùng notepad atm, mở dòng 29000
Hiện tại tôi đang làm việc với dữ liệu theo dõi mắt nên có một tập dữ liệu khổng lồ (có hàng triệu hàng), vì vậy tôi muốn có một cách nhanh chóng để thực hiện việc này. Đây là một phiên bản đơn giản của nó. Dữ liệu cho bạn biết mắt đang nhìn vào đâu tại mỗi thời điểm và từng tệp chúng ta đang xem. X
Tôi chưa quen với điều này và muốn chọn âm thanh cho bộ hẹn giờ hoặc thiết bị khác. Làm cách nào để mở danh sách này để chọn một trong các âm thanh? Danh sách âm thanh cảnh báo Câu trả lời hay nhất Bạn sẽ không thể sử dụng âm thanh hệ thống trong ứng dụng của mình. Tuy nhiên, bạn có thể bao gồm các tệp âm thanh của riêng mình và hiển thị chúng
Tôi đã viết đoạn mã sau để xây dựng một mảng có các chuỗi tuần tự. Nó hoạt động như tôi mong đợi, nhưng tôi ước nó chạy nhanh hơn. Có cách nào hiệu quả hơn để tạo ra kết quả tôi muốn trong PowerShell không? Tôi mới sử dụng PowerShell, cảm ơn bạn rất nhiều
Tôi có một ma trận với một số hàng không duy nhất, ví dụ: x try y <- rle(apply(x, 1, Paste, thu gọn = "")) # y$lengths là vectơ con
Tôi gặp sự cố với chức năng "keyboardWillShown" của mình. Vì vậy, điều tôi muốn là menu xuất hiện ngay phía trên bàn phím khi nó mở ra. Nó hoạt động hoàn hảo trên Iphone 8 plus, 8, 7, 6. Tuy nhiên, khi tôi chạy Iphone trên trình mô phỏng
Tôi đang cố trích xuất dữ liệu từ API thông qua phương thức HTTP get trong Swift 5. Nó tải thành công dữ liệu khi khởi động, nhưng khi tôi làm mới trang thì nó báo "ngoài phạm vi", điều này là do dữ liệu không còn được đọc trong nhật ký của tôi nên không có gì trong chỉ mục.
Điều tôi muốn làm: Lấy dấu thời gian từ cơ sở dữ liệu của tôi và chuyển đổi nó sang múi giờ của người dùng. Mã của tôi: let tryItNow = "\(model.timestampName)" let format = D
Cho tên phông chữ và cỡ chữ, làm thế nào để tìm chiều rộng của chuỗi (CGFloat)? (Mục tiêu là đặt chiều rộng của UIView đủ rộng để chứa chuỗi.) Tôi có hai chuỗi: một chuỗi lặp lại "1" 36 lần và một chuỗi lặp lại "M" 36 lần.
Tôi đang cố phân tích cú pháp JSON này ["Items": ( { AccountBalance = 0; AlphabetType = 3; Description = "\U0631\U
Tôi đã đặt UILabel bên trong UINavigationBar. Tôi muốn tăng kích thước phông chữ của nhãn này dựa trên chiều cao của thanh điều hướng. Tôi muốn kích thước phông chữ lớn hơn khi thanh điều hướng lớn; khi cuộn và thu nhỏ điều hướng
Tôi muốn giới hạn đầu vào của người dùng chỉ ở những số hợp lệ và sử dụng các số sau: func textView(_ textView: UITextView, ShouldChangeTextIn range: NSRange, Rep
Hiện tại tôi có cơ sở dữ liệu với hơn 100.000 hình ảnh, chúng có kích thước khác nhau hoặc tương tự nhau, nhưng tôi muốn thực hiện những điều sau cho công ty của mình: Tôi chèn/tải lên một hình ảnh và hệ thống trả về hình ảnh có nhiều khả năng giống nhau. Tôi không biết nên sử dụng thuật toán nào, nhưng nó cần phải nhanh. Tôi có thể dự đoán
Trong dự án Swift của tôi, tôi có một nút và tôi muốn in trên nhãn vào thời điểm nút được nhấn. Làm thế nào để giải quyết vấn đề này? Câu trả lời hay nhất để thêm vào câu trả lời của DHEERAJ, bạn chỉ cần thực hiện trong func press(sender: UIButton
Tôi phải bình luận, hãy thử nhập mảng trong phân tích cú pháp. Tuy nhiên, có một vấn đề. Khi tôi cố tải một mảng từ Parse, đầu ra của tôi là ("Blah", "Blah", "Blah") là một bộ dữ liệu... không phải là một mảng TT... Làm thế nào
Ứng dụng của tôi có một lớp tên là MyDevice mà tôi sử dụng để giao tiếp với phần cứng. Phần cứng là tùy chọn và biến thể hiện cũng vậy: var theDevice:MyDevice = nil Sau đó, trong ứng dụng, tôi phải khởi tạo thiết bị
Tôi là một lập trình viên xuất sắc, rất giỏi!