球拍:图像到字节(像素)

时间:2017-03-08 21:50:33

标签: racket

如何将pict转换为其中像素的字节串?

(我的意思是,你在渲染图片时得到的位图中的像素的字节串)

此功能有效:

<!--Date Picker -->
      <!--From Date-->
      <div class="col-md-2" style="padding-top:8px;">
        <div class="form-group">
          <div class='input-group date' id='fraud-start-date-picker'>
            <%= text_field_tag :fraud_start_time, params[:fraud_start_time], class: 'form-control input-style ' %>
            <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
          </div>
        </div>
      </div>
      <!--To Date-->
      <div class="col-md-2" style="padding-top:8px;">
        <div class="form-group">
          <div class='input-group date' id='fraud-end-date-picker'>
            <%= text_field_tag :fraud_end_time, params[:fraud_end_time], class: 'form-control input-style ' %>
            <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
          </div>
        </div>
      </div>

但是有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

是的!有一种更简单的方法:pict->argb-pixels

这是一个测试用例:

#lang racket/base
(require pict racket/class)

(define (pict->pixels p)                                                                    
  (define b (pict->bitmap p))                                                               
  (define w (send b get-width))                                                             
  (define h (send b get-height))                                                            
  (define pixbuf (make-bytes (* 4 (inexact->exact (ceiling (* w h))))))                     
  (send b get-argb-pixels 0 0 w h pixbuf)                                                   
  pixbuf)