Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Nov 2015
    Bài viết
    0

    cách xác định dung lượng file ảnh

    có thể xác định được dung lượng file ảnh khi biết được độ phân giải không. ví dụ tấm ảnh 800x600pixcel thì dung lượng bao nhiêu.

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    5
    dung lượng file ảnh phụ thuộc vào kích thước ảnh (pixel), cấu trúc file ảnh (bmp, jpg, gif...) cũng như thuật toán sử dụng để nén ảnh. vì vậy chỉ căn cứ vào độ phân giải thì không thể xác định được.
    tham khảo cấu trúc file bmp:
    trong đồ họa máy vi tính, bmp là một định dạng tập tin hình ảnh khá phổ biến. các tập tin đồ họa lưu dưới dạng bmp thường có đuôi là .bmp hoặc .dib (device independent bitmap).
    các thuộc tính tiêu biểu của một tập tin ảnh bmp (cũng như file ảnh nói chung) là

    • số bit trên mỗi điểm ảnh (bit per pixel), thường được ký hiệu bởi n. một ảnh bmp n-bit có 2n màu. giá trị n càng lớn thì ảnh càng có nhiều màu, và càng rõ nét hơn. giá trị tiêu biểu của n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256 màu), 16 (ảnh 65536 màu) và 24 (ảnh 16 triệu màu). ảnh bmp 24-bit có chất lượng hình ảnh trung thực nhất.
    • chiều cao của ảnh (height), cho bởi điểm ảnh (pixel).
    • chiều rộng của ảnh (width), cho bởi điểm ảnh.
    cấu trúc tập tin ảnh bmp bao gồm 4 phần:

    • bitmap header (14 bytes): giúp nhận dạng tập tin bitmap.
    • bitmap information (40 bytes): lưu một số thông tin chi tiết giúp hiển thị ảnh.
    • color palette (4*x bytes), x là số màu của ảnh: định nghĩa các màu sẽ được sử dụng trong ảnh.
    • bitmap data: lưu dữ liệu ảnh.
    đặc điểm nổi bật nhất của định dạng bmp là tập tin hình ảnh thường không được nén bằng bất kỳ thuật toán nào. khi lưu ảnh, các điểm ảnh được ghi trực tiếp vào tập tin - một điểm ảnh sẽ được mô tả bởi một hay nhiều byte tùy thuộc vào giá trị n của ảnh. do đó, một hình ảnh lưu dưới dạng bmp thường có kích cỡ rất lớn, gấp nhiều lần so với các ảnh được nén (chẳng hạn gif, jpeg hay png).
    tuy nhiên, do kích thước tập tin ảnh bmp quá lớn, định dạng bmp không phù hợp để trao đổi hình ảnh qua mạng internet (do hạn chế về tốc độ truyền dữ liệu). do đó, các trang web thường sử dụng ảnh dạng gif, jpeg hay png. các định dạng này hỗ trợ các thuật toán nén hình ảnh, vì vậy có thể giảm bớt kích cỡ của ảnh.
    <div style="text-align: right">(source: vn.wikipedia.org)​
    cụ thể:​- header:
    type;
    2
    file type. set to “bm”.
    size;
    4
    size in bytes of the file.
    reserved;
    4
    reserved. set to zero.
    offset;
    4
    offset to the data.​
    - information:
    headersize;
    4
    size of rest of header. set to 40.
    width;
    4
    width of bitmap in pixels.
    height;
    4
    height of bitmap in pixels.
    planes;
    2
    number of planes. set to 1.
    bitsperpixel;
    2
    number of bits per pixel.
    compression;
    4
    compression. usually set to 0.
    sizeimage;
    4
    size in bytes of the bitmap.
    xpixelspermeter;
    4
    horizontal pixels per meter.
    ypixelspermeter;
    4
    vertical pixels per meter.
    colorsused;
    4
    number of colors used.
    colorsimportant;
    4
    number of “important” colors.​
    dưới đây là ví dụ:
    /************************************************** *****************************
    * microsoft windows bitmap (bmp) file format
    *
    * uncompressed 256-color bmp
    *
    * 00000 42 4d magic, `bm’ \
    * 00002 36 b4 04 00 file size, 0×04b436 308278 |
    * 00006 00 00 00 00 (reserved) |
    * 0000a 36 04 00 00 header + color map size, 1078 |
    * |
    * 0000e 28 00 00 00 this subheader size, 40 |
    * 00012 80 02 00 00 image width, 640 pixels |
    * 00016 e0 01 00 00 image depth, 480 pixels |
    * 0001a 01 00 number of bit planes, 1 |
    * 0001c 08 00 bits per pixel, 8 (256 colors) |
    * 0001e 00 00 00 00 compression type, 0 (none) |
    * 00022 00 00 00 00 image size, bytes (or zero) |
    * 00026 00 00 00 00 x pels per meter, 0 |
    * 0002a 00 00 00 00 y pels per meter, 0 |
    * 0002e 00 00 00 00 colors used (or zero) |
    * 00032 00 00 00 00 important colors (or zero) /
    *
    * 00036 21 21 21 00 rgb for color 00 (b,g,r,a) \
    * 0003a f2 21 21 00 rgb for color 01 |
    * 0003e 21 f2 21 00 rgb for color 02 +- rgb map
    * : : : : |
    * 00432 f2 f3 f2 00 rgb for color ff /
    *
    * 00436 08 08 08 08 pixel data bytes (one byte per pixel)
    * : : : (left to right, bottom to top)
    * 006b6 00 : (end of line padding, even byte)
    * : : :
    * 4b430 08 08 08 08 :
    * 4b434 08 08 :
    * 4b436 end of file
    *
    * 0000.0000 42 4d 36 04 00 00 00 00 00 00 36 04 00 00 28 00
    * 0000.0010 00 00 80 02 00 00 e0 01 00 00 01 00 08 00 00 00
    * 0000.0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    * 0000.0030 00 00 00 00 00 00|21 21 21 00 f2 21 21 00 21 f2
    * 0000.0040 21 00 f2 f2 21 00 21 21 f2 00 f2 21 f2 00 21 80
    * 0000.0050 f2 00 f2 f2 f2 00 80 80 80 00 f2 80 80 00 80 f2
    * 0000.0060 80 00 f2 f2 80 00 80 80 f2 00 f2 80 f2 00 80 f2
    * 0000.0070 f2 00 f2 f2 f2 00 21 21 21 00 2e 21 29 00 44 21
    * 0000.0080 21 00 55 21 21 00 4e 21 2e 00 4e 44 21 00 55 21
    * :
    * :
    * 0000.0400 f1 00 dc ea f1 00 d4 f2 f1 00 f2 f2 f1 00 ea f2
    * 0000.0410 f1 00 ea f2 f1 00 dc f2 f1 00 f2 f2 f1 00 ea f2
    * 0000.0420 f1 00 f2 f1 f1 00 f2 f1 f2 00 f1 f2 f1 00 f2 f2
    * 0000.0430 f2 00 f2 f3 f2 00|08 08 08 08 08 08 08 08 08 08
    * 0000.0440 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08
    * :
    * :
    * 0000.06b0 08 08 08 08 08 08|08 08 08 08 08 08 08 08 08 08
    * 0000.06c0 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08
    * :
    * :
    * 0004.b400 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08
    * 0004.b410 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08
    * 0004.b420 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08
    * 0004.b430 08 08 08 08 08 08|
    */
    /************************************************** *****************************
    * uncompressed 24-bit color bmp
    *
    * 00000 42 4d id `bm’
    * 00002 eb 02 00 00 filesize 747
    * 00006 00 00 00 00 r 00 00 00 00
    * 0000a 36 00 00 00 headersize 54
    *
    * 0000e 28 00 00 00 infosize 40 \
    * 00012 17 00 00 00 width 23 |
    * 00016 14 00 00 00 depth 20 |
    * 0001a 01 00 biplanes 1 |
    * 0001c 18 00 bits 24 |
    * |
    * 0001e 00 00 00 00 compression 0=none +- info
    * 00022 a0 05 00 00 sizeimage 1440 |
    * 00026 61 0f 00 00 xpels 3937 |
    * 0002a 61 0f 00 00 ypels 3937 |
    * 0002e 00 00 00 00 clrused 0 |
    * 00032 00 00 00 00 clrimportant 0 /
    *
    * (no color map)
    *
    * 00036 line 19, rgb pixel data (b,g,r)
    * ff fe ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff fe ff ff ff ff ff ff ff ff ff fe ff ff fe
    * ff fe ff ff fe ff ff ff ff ff fd ff ff fe fe
    * ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff ff ff ff ff ff ff ff ff
    * 00 14 01
    * 0007e line 18
    * ff fe ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff fe ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff ff ff ff ff ff ff ff ff
    * 00 14 01
    * 000c6 line 17
    * :
    * :
    * 0058e line 0
    * ff fe ff ff ff ff ff fe ff fe fe ff ff ff ff
    * ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff fe ff ff fe ff ff ff ff ff ff ff ff ff ff
    * ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    * ff ff ff ff ff ff ff ff ff
    * 00 14 01
    * 005d6
    */
    ​</div>

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Trích dẫn Gửi bởi phuxuan167
    có thể xác định được dung lượng file ảnh khi biết được độ phân giải không. ví dụ tấm ảnh 800x600pixcel thì dung lượng bao nhiêu.
    chào bạn, đăng khoa xin góp ý trả lời câu hỏi của bạn như sau:
    bạn hình dung như thế này cho đơn giản:
    bạn có một khối hình vuông , bạn biết được kích thước của khối đó. nhưng nếu khối đó làm băng sắt thì sẽ có một trọng lượng rất lớn, nhưng nếu khối đó làm bằng xốp thì trọng lượng của nó lại rất là nhẹ.
    bạn liên tưởng ở đây độ phân giải là kích thước của khối vuông, dung lượng của ảnh là trọng lượng của khối vuông. vậy liệu mình có biết được dung lượng của ảnh khi chỉ biết được độ phân giải của anh không? [img]data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaaabaqmaaaa l21bkaaaaa1bmvexh5pjm+ykvaaaaaxrstlmaqobyzgaaaapjr efucndjyaaaaaiaaeihvdmaaaaasuvork5cyii=[/img]
    chúc bạn luôn vui vẻ.

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •