ADOQuery2.Active := false;
  ADOQuery2.Parameters.ParamByName('dphao').value := fhno.Fields[0].AsString;
  ADOQuery2.Active := true;
  bmp := tbitmap.create;
  BlobStream := TADOBlobStream.Create(TBlobField(ADOQuery2.Fields[0]), bmRead);
  bmp.LoadFromStream(BlobStream);
  printer.Canvas.StretchDraw(Rect(4200, 2700, 3600, 2400), bmp);
  printer.EndDoc;
  bmp.Free;这些代码是我从数据库里提出图片然后打印出来的,但是图片却倒过来了
怎样把它翻转过来

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      bmp:TBitmap;
      i, j: integer;
      c: TColor;
    begin
      bmp := image1.Picture.Bitmap;
      for i := 0 to bmp.Width - 1 do
      begin
        for j := 0 to bmp.Height div 2 do
        begin
          c := bmp.Canvas.Pixels[i, j];
          bmp.Canvas.Pixels[i, j] := bmp.Canvas.Pixels[i, bmp.Height - j - 1];
          bmp.Canvas.Pixels[i, bmp.Height - j - 1] := c;
        end;
      end;
    end;