cuốn sách gpt4 ai đã làm

Thay thế cho Font.createFont()?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 06:14:29 hai mươi bốn 4
mua khóa gpt4 Nike


Tôi cần tải phông chữ từ tập tin và tôi nhận thấy Font.createFont() Mỗi phông chữ mất khoảng 5 giây để hoàn thành. Đây là đoạn trích có liên quan từ lớp quản lý tài nguyên của tôi:

    thử(InputStream in = getClass().getResourceAsStream(FONT_DIR + fontName + FONT_EXT))
{
startTime dài = System.nanoTime();
Font awtFont = Font.createFont(Font.TRUETYPE_FONT, in); //<-- Thao tác này mất khoảng 5 giây
System.out.println("Thao tác đã thực hiện: " + (System.nanoTime() - startTime) / 1000000);

awtFont = awtFont.deriveFont(fontSize);
kết quả = TrueTypeFont mới (awtFont, antiAlias);

}

Tôi đã kiểm tra các bài đăng tương tự nhưng không thể tìm ra giải pháp. Vì vậy, câu hỏi của tôi là: Có cách nào nhanh hơn để tạo java.awt.Font từ một tệp hay tôi đang làm gì đó sai?
Cảm ơn bạn đã dành thời gian và chúc một ngày tốt lành!
Alex

câu trả lời hay nhất

createFont(int fontFormat, FontStream đầu vào) Tạo một tệp mới khi tệp đã tồn tại (điều này yêu cầu/kiểm tra quyền ghi - một chi phí hiệu suất khác).

Vì vậy, nếu bạn muốn tạo phông chữ từ một luồng - rất tiếc là không có tùy chọn nào khác. Lưu ý rằng điều này thực sự rất thuận tiện, ví dụ như khi phông chữ được đóng gói trong JAR.

Vì vậy, có một phương pháp tĩnh khác

createFont(int fontFormat, file fontFile)

Vì bạn có một phông chữ dưới dạng tệp nên việc sử dụng phông chữ này sẽ thuận tiện và tốt hơn.

Đối với những trường hợp này, nó hiệu quả và thuận tiện hơn - và nhanh hơn (không tạo tệp tạm thời so với tạo tệp tạm thời)

Tốc độ trung bình sẽ nhanh hơn gấp 3 lần.

Các lựa chọn thay thế cho Font.createFont() trong java? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/28279505/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress