Tôi không chắc chắn bạn sẽ có thể đạt được điều đó, như số lượng thông tin một Mã QR có thể chứa là khá hạn chế.
Trước hết, bạn có thể muốn lưu trữ hình ảnh dưới dạng byte thô, vì các định dạng khác (chữ số và chữ số) được thiết kế để giữ văn bản/số và cung cấp ít không gian hơn để lưu trữ hình ảnh của bạn. Giả sử bạn chọn Mã QR có thể lớn nhất (phiên bản 40), với mức sửa lỗi nhỏ nhất, có thể chứa tới 2953 byte thông tin nhị phân (see here).
Tùy chọn đầu tiên, như bạn đề xuất, bạn lưu trữ hình ảnh dưới dạng bitmap. Định dạng này cho phép không nén và yêu cầu (trong trường hợp hình ảnh RGB không có kênh alpha) 3 byte trên mỗi pixel. Nếu chúng ta xem xét kích thước tiêu đề của tệp (14 đến 54 byte) và bỏ qua phần đệm (mỗi hàng dữ liệu hình ảnh phải được đệm thành chiều dài là bội số của 4), cho phép bạn lưu trữ khoảng 2900/3 = 966 pixel. Nếu chúng ta xem xét một hình ảnh vuông, điều này đại diện cho một bitmap 31x31, đó là nhỏ ngay cả đối với một hình ảnh thu nhỏ (ví dụ, hình đại diện của tôi ở cuối bài đăng này là 32x32 pixel).
Tùy chọn thứ hai, bạn sử dụng JPEG để mã hóa hình ảnh của mình. Định dạng này có lợi thế là sử dụng thuật toán nén có thể giảm kích thước tệp. Lần này không có công thức chính xác để lấy kích thước của hình ảnh phù hợp trong 2.9kB, nhưng tôi đã thử sử dụng một vài hình ảnh vuông và giảm kích thước cho đến khi chúng vừa với kích thước này, giữ một yếu tố chất lượng tốt (93): khoảng 60x60 pixel hình ảnh. (Trên những hình ảnh nhỏ như vậy, bình thường không thấy một hệ số nén đáng kinh ngạc giữa jpeg và bmp, vì tiêu đề tệp trong tệp jpeg lớn hơn nhiều so với tệp bmp: khoảng 500 byte). Điều này là tốt hơn so với bitmap, nhưng vẫn còn khá nhỏ.
Cuối cùng, ngay cả khi bạn thành công trong việc mã hóa hình ảnh của mình trong Mã QR này, bạn sẽ gặp một vấn đề khác: Mã QR lớn này rất, rất khó quét thành công. Như một vấn đề của thực tế, mã QR này sẽ có kích thước 177x177 mô-đun (một "mô-đun" là một hình vuông nhỏ màu trắng hoặc đen). Giả sử bạn quét nó bằng điện thoại thông minh cung cấp các khung hình "HD" (1280x720 pixel), mỗi mô-đun sẽ có kích thước tối đa trên khung khoảng 4 pixel. Nếu bạn tính đến nhiễu máy ảnh, răng cưa và mờ do thực tế người dùng không bao giờ hoàn toàn nhàn rỗi khi quét, chất lượng của khung đầu vào sẽ khiến cho mọi thuật toán giải mã mã QR trở nên rất khó để có được QR thành công Mã (đừng quên chúng tôi thiết lập mức độ sửa lỗi của nó ở mức thấp vào đầu này!).
Mặc dù đây không phải là tin tốt nhưng tôi hy vọng điều này sẽ giúp ích cho bạn!
Tôi sẽ hỏi bạn có thực sự muốn làm điều này không. tính năng nối thêm linh hoạt không được hỗ trợ bởi bất kỳ trình đọc nào và mã QR kích thước tối đa không thể đọc được bởi hầu hết các thiết bị trong thực tế. Mã hóa một siêu liên kết đơn giản đến hình ảnh. –