Advanced Rendering Semantics

Việc dựng trang đã nạp giữ nguyên trạng thái Form XObject lồng nhau trong khi áp dụng nhóm trong suốt, soft mask, thủ tục glyph Type 3, và giải mã vùng ảnh hiển thị có nhận biết độ phân giải

Stroke nét đứt của path

Bộ dựng path thuần giữ nguyên trọn vẹn mảng dash và pha của nó, bao gồm mảng có độ dài lẻ, độ dài phân số, và dash có độ dài bằng không nhưng vẫn được sơn với cap tròn hoặc cap vuông; dash pattern được khởi động lại tại mỗi đường con

Stroke màu đặc và clip stroke bằng gradient pattern dùng chung một đường hình học dash có giới hạn, giữ nguyên join bên trong các đoạn sơn liên tục, và nối các đoạn sơn xuyên qua điểm bắt đầu của contour kín

Độ dài dash giữ theo scale trung bình của phép biến đổi hiện tại mà renderer đang dùng, còn việc chia đường cong dùng adaptive flattening trong không gian thiết bị; phần tô và clip đang chờ vẫn dùng path gốc chưa chia

Nhóm trong suốt

Soft mask

Hàm chuyển và sampled

/TR2 được ưu tiên hơn /TR; một hàm đơn được áp dụng cho mọi kênh output RGB, còn mảng bốn hàm thì áp dụng độc lập ba phần tử đầu tiên, đồng thời giữ nguyên các entry /Identity và /Default

Áp dụng một trạng thái chuyển mới thay thế mọi kênh một cách nguyên tử, nên các mục identity không thể kế thừa giá trị tra cứu từ trạng thái đồ họa trước đó

Hàm sampled Type 0 hỗ trợ một đến bốn chiều đầu vào và đầu ra, giá trị /BitsPerSample 1, 2, 4, 8, 12, 16, 24, và 32, ánh xạ /Encode đảo hoặc thuận, dải /Decode độc lập, nội suy đa tuyến, nội suy khối đa chiều, và spline khối tự nhiên cho dữ liệu một chiều /Order 3

Byte mẫu đã giải mã, chiều đã xác thực, ánh xạ, và đạo hàm khối dùng chung một LRU tám mục giới hạn 64 MiB mỗi luồng dựng, trong khi hàm quá khổ hoặc sai định dạng thất bại mà không thay thế một phần bảng tra cứu chuyển đang hoạt động

Màn hình halftone

Mảng ngưỡng Type 6, Type 10, và Type 16 thực thi trực tiếp với độ dài đã giải mã chính xác, ngưỡng 16-bit big-endian, so sánh thành phần cộng, và dải tuần hoàn nhỏ gọn tránh mở rộng màn hình nghiêng hoặc hai hình chữ nhật

Dictionary Type 5 chọn màn hình /Red, /Green, và /Blue độc lập với dự phòng /Gray và /Default bắt buộc, trong khi mỗi màn hình được chọn có thể ghi đè hàm chuyển toàn cục

Byte ngưỡng đã xác thực và hình học chuẩn hóa của chúng dùng chung một LRU 64 mục giới hạn 64 MiB mỗi trình dựng, và chiều sai, cấp phát quá khổ, dictionary Type 5 lồng nhau, hoặc không khớp độ dài payload để lại toàn bộ trạng thái màn hình đang hoạt động ở chế độ continuous-tone

Glyph Type 3

CharProcs Type 3 chạy qua toàn bộ engine toán tử nội dung với phạm vi tài nguyên hiện tại của font dictionary, hỗ trợ Form, clip, ảnh, pattern, và đệ quy có giới hạn

d0 và d1 cung cấp số liệu glyph trong khi thủ tục d1 giữ màu do caller chọn theo yêu cầu của mô hình ảnh PDF

CharProcs lặp lại tái sử dụng danh sách hiển thị đã giải mã và token hóa khi font, glyph, ma trận thiết bị tuyến tính, và trạng thái màu khớp; phép tịnh tiến vẫn động nên các ký tự lặp lại ở vị trí khác nhau dùng chung một mục

LRU theo trình dựng giữ tối đa 256 mục và 131.072 token, bỏ qua mọi CharProc trên 16.384 token, và báo cáo hành vi của nó qua GetLastType3GlyphCacheStats

Vùng ảnh bị clip và thu nhỏ

Image XObject thẳng trục chỉ yêu cầu các giới hạn nguồn hiển thị và truyền kích thước pixel thiết bị hiển thị vào đường dẫn giải mã

Ảnh có soft mask được giải mã nguyên khối ở kích thước mà nó được vẽ, và mask của nó ở cùng kích thước, để mask luôn khớp với ảnh trong khi clip giới hạn phần được vẽ; mask JPEG dùng bộ giải mã DCT cỡ thu nhỏ

Khi dựng, một vùng đã giải mã có kích thước ít nhất gấp đôi kích thước vẽ theo cả hai chiều sẽ được thu về đúng kích thước vẽ bằng phép lấy trung bình theo diện tích trước khi được vẽ hoặc cache; ảnh lớn được vẽ nhỏ khi đó vừa với cache giải mã, nên một nhóm được vẽ hai lần hoặc một trang lặp lại dùng lại được nó, và soft mask của nó được áp dụng từng pixel ở kích thước đó. Ảnh mask stencil giữ nguyên độ phân giải đầy đủ, và các phương thức giải mã vùng công khai trả về kích thước như đã tài liệu hóa

JPEG 2000 kết hợp API vùng nguyên bản của bộ giải mã với một mức độ phân giải lũy thừa hai được chọn để đáp ứng cả hai kích thước đích trước khi tái tạo wavelet và mở rộng raster

Codestream JPEG 2000 địa chỉ hóa tile cũng có thể giải mã trực tiếp một tile đã xác thực qua THPDFJpeg2000Decoder.LoadTileFromByteArray, với siêu dữ liệu lưới tile và giới hạn byte đầu ra do bộ giải mã cung cấp

Khi một vùng nguyên bản giao với nhiều tile độc lập, LoadRegionFromByteArrayParallel gán trạng thái OpenJPEG riêng cho mỗi worker và ghép các raster đã hoàn thành theo thứ tự hàng-cột xác định; hủy bỏ, giới hạn đầu ra, và ngân sách bộ nhớ đỉnh hiệu quả có thể dừng lập lịch hoặc chọn dự phòng tuần tự

Region := PDF.DecodeLoadedImageRegion(ImageStream, 128, 64, 640, 480);
try
  Canvas.Draw(0, 0, Region);
finally
  Region.Free;
end;

API liên quan