Siêu dữ liệu hình ảnh đã xuất của Glasswall
Khi hoạt động ở chế độ xuất, Glasswall xuất các hình ảnh được nhúng trong tệp PDF dưới dạng một cặp tệp:
- Một tệp chứa dữ liệu hình ảnh thô
- Một tệp chứa siêu dữ liệu mô tả định dạng của hình ảnh
Tệp siêu dữ liệu có dạng một đối tượng JSON chứa các cặp thuộc tính Tên/Giá trị sau đây.
Thuộc tính bắt buộc
Các giá trị này sẽ có mặt đối với mọi hình ảnh bất kể định dạng, cách sử dụng hoặc mã hóa của hình ảnh và sẽ luôn có mặt bất kể sơ đồ mã hóa hoặc không gian màu đang được sử dụng.
Chiều rộng
Một số nguyên không dấu cho biết chiều rộng của hình ảnh tính bằng pixel.
Chiều cao
Một số nguyên không dấu cho biết chiều cao của hình ảnh tính bằng pixel.
Thành phần
Một số nguyên không dấu cho biết số lượng giá trị cường độ được dùng để biểu diễn mỗi pixel; ví dụ, một hình ảnh đơn sắc đơn giản sẽ có giá trị Components là 1, một hình ảnh mã hóa RGB sẽ có giá trị thành phần là 3, và một hình ảnh mã hóa CMYK sẽ có giá trị thành phần là 4.
BitsPerComponent
Một số nguyên không dấu cho biết số bit trên mỗi thành phần màu; ví dụ, một hình ảnh đơn sắc đơn giản sẽ có giá trị BitsPerComponent là 1, một hình ảnh thang độ xám được mã hóa với 256 mức cường độ sẽ có giá trị BitsPerComponent là 8, cũng như một hình ảnh RGB được mã hóa với độ phân giải màu 24 bit.
Length
Một số nguyên không dấu cho biết số byte dữ liệu dự kiến có trong luồng dữ liệu hình ảnh.
Thuộc tính tùy chọn
Ngoài ra, tệp siêu dữ liệu cũng có thể chứa các cặp thuộc tính Tên/Giá trị tùy chọn sau đây khi cần thêm dữ liệu để mô tả cách sử dụng và/hoặc giải mã nhằm hiển thị hình ảnh một cách chính xác.
ImageMask
Một giá trị Boolean cho biết hình ảnh được dùng làm mặt nạ để hiển thị hoặc che giấu các phần của một hình ảnh nền khác.
Filter
Một giá trị chuỗi cho biết thuật toán mã hóa được sử dụng. Các thuật toán mã hóa khả dụng được mô tả trong phần thảo luận về bộ lọc luồng trong PDF Specification (ISO32000-1, Section 7.4), và các giá trị phổ biến bao gồm CCITTFaxDecode, LZWDecode (nén Lempel-Zif-Welch, được dùng chẳng hạn trong định dạng GIF), DCTDecode (nén biến đổi cosin rời rạc, được dùng trong JPEG), hoặc FlateDecode (nén xẹp zlib).
DecodeParms
Một giá trị chuỗi chứa mọi tham số bổ sung mà thuật toán giải mã yêu cầu để giải mã chính xác dữ liệu hình ảnh.
JBIG2
Các phân đoạn dữ liệu toàn cục sẽ được sử dụng khi xử lý dữ liệu hình ảnh được mã hóa JBIG2.type of colourspace
Mặt nạ
Một giá trị boolean cho biết hình ảnh được dùng làm mặt nạ để tạo thành một phần của hình ảnh tổng hợp, ví dụ bằng kỹ thuật khóa màu hoặc hòa trộn alpha.
Các thuộc tính không gian màu
ColorSpaceFamily
Một giá trị chuỗi cho biết loại không gian màu sẽ được sử dụng nếu hình ảnh được kết xuất đúng như dự định được mô tả trong đặc tả PDF (ISO32000-1, Section 8.6).
Không gian màu thiết bị.
Các không gian màu đơn giản (DeviceGray, DeviceRGB, và DeviceCMYK) không cần mô tả thêm và cho biết rằng các giá trị mẫu hình ảnh (pixel) có thể được sử dụng trực tiếp.
Không gian màu dựa trên CIE
Các không gian màu dựa trên CIE phải dựa trên một tiêu chuẩn quốc tế về đặc tả màu do Commission Internationale de l’Éclairage (International Commission on Illumination) tạo ra. Các không gian này xác định màu theo cách độc lập với đặc tính của bất kỳ thiết bị đầu ra cụ thể nào. Các họ không gian màu trong danh mục này bao gồm CalGray, CalRGB, Lab và ICCBased. Hiện tại chỉ hỗ trợ các không gian màu dựa trên ICC (ColorSpaceFamily ICCBased), và trong trường hợp này sẽ có các thuộc tính sau.
ColorSpaceIccProfileData
Một giá trị chuỗi chứa profile màu đa nền tảng ICC ở định dạng tiêu chuẩn ICC. Vì đây là một chuỗi byte tùy ý, nó được trình bày bằng mã hóa Base64 để giới hạn việc biểu diễn trong một giá trị chuỗi JSON.
ColorSpaceAlternate
Một giá trị chuỗi cho biết một colorspace thay thế có thể được dùng để kết xuất hình ảnh nếu đầu ra dựa trên ICC không được hỗ trợ.
Không gian màu được lập chỉ mục
Các không gian màu được lập chỉ mục (giá trị ColorSpaceFamily là Indexed) biểu diễn mỗi giá trị pixel (hoặc mẫu) bằng một giá trị đơn, đóng vai trò là chỉ mục vào một bảng chứa giá trị đầu ra thực tế hoặc tập hợp các giá trị; số lượng giá trị trong bảng tra cứu sẽ tương ứng với một không gian màu cơ sở. Ví dụ, khi dùng không gian màu cơ sở DeviceRGB, mỗi mục trong bảng tra cứu sẽ chứa 3 giá trị. Các mục trong bảng tra cứu sẽ được trình bày trong một mảng duy nhất với các thành phần màu xuất hiện tuần tự. Đối với một không gian màu chỉ mục, các thuộc tính sau sẽ xuất hiện.
ColorSpaceBaseFamily
Một giá trị chuỗi cho biết không gian màu được sử dụng cho các giá trị tra cứu được lập chỉ mục.
ColorSpaceBaseComponents
Một số nguyên không dấu cho biết số lượng thành phần trong không gian màu cơ sở và do đó là số lượng giá trị trong mỗi mục nhập của bảng tra cứu không gian màu được lập chỉ mục.
ColorSpaceIccProfileData
Dữ liệu profile không gian màu dựa trên ICC cho một không gian màu cơ sở dựa trên ICC - chỉ xuất hiện nếu ColorSpaceBaseFamily có giá trị ICCBased.
ColorSpaceLookupData
Một mảng số nguyên không dấu chứa bảng tra cứu cho không gian màu được lập chỉ mục.