วันอาทิตย์ที่ 15 ธันวาคม พ.ศ. 2562

เขียนโปรแกรมแปลง Convert DICOM to JPEG, BMP, PNG, GIF, TIFF

กลับกัน ถ้า JpgToDicom ImageEnMView1.MIO.SaveToFile( SaveImageEnDialog1.FileName );

https://www.imageen.com/ieforum/topic.asp?TOPIC_ID=2099


function DicomToJpg(filename: string): string;
var
  i : integer;
  imgEn: TImageEnMView;
  fName: string;
begin
  imgEn := TImageEnMView.Create(nil);
  try
    fname := ChangeFileExt(filename,'.jpg');
    imgEn.MIO.LoadFromFileDICOM(filename);
    imgEn.MIO.Params[0].SamplesPerPixel := 3;
    imgEn.MIO.Params[0].BitsPerSample := 8;
    imgEn.MIO.DuplicateCompressionInfo;
    for i := 0 to imgEn.ImageCount - 1 do
    begin
      imgEn.GetTIEBitmap(i).Write(fname);
      imgEn.ReleaseBitmap(i);
    end;
    imgEn.MIO.SaveToFile(fName);
    Result := fName;
  finally
    FreeAndNil(imgEn);
  end;
end;

วันพฤหัสบดีที่ 12 กุมภาพันธ์ พ.ศ. 2558

delphi source test

procedure TFormUseUCForHosxp.cxButton2Click(Sender: TObject);
var
  iCountColumn,iCountRow,i : Integer;
  txt,vstadte : String;
  sql: array[0..13] of string;
begin
  iCountColumn := tbview.ColumnCount;
  iCountRow := tbview.DataController.RecordCount;
  if iCountRow=0 then
  begin
    MessageDlg('ไม่มีข้อมูล',mtError,[mbOk],0);
    exit;
  end;

  if MessageDlg('ข้อมูลมีทั้งหมด: '+inttostr(iCountRow)+' แถว'+
  #13+#10+'ยืนยันการบันทึกข้อมูล กด Yes.'+
  #13+#10+'ยกเลิก กด No.',mtInformation,[mbYes,mbNo],0)=mrYes then
  begin
    with JvProgressDialog do
    begin
      show;
      dateSetB.Close;
      dateSetB.SQL.Text := 'SELECT * FROM claim Limit 1';
      dateSetB.Open;
      text := 'เตรียมตารางข้อมูล';
      sleep(300);
      min := 0;
      max := iCountRow;
      for i := min to max do
      begin
        if i=iCountRow then
        begin
          text := 'บันทึกเสร็จเรียบร้อย';
          Sleep(500);
          hide;
          dataSetA.Close;
          exit;
        end;
        dateSetB.Append;
        dateSetB.FieldByName('vn').AsString := tbview.DataController.Values[i,0];
        vstadte := FormatDateTime('dd/mm/yyyy',tbview.DataController.Values[i,1]);
        dateSetB.FieldByName('vstdate').AsDateTime := StrToDate(vstadte);
        dateSetB.FieldByName('hn').AsString := tbview.DataController.Values[i,2];
        dateSetB.FieldByName('pttype').AsString := tbview.DataController.Values[i,3];
        dateSetB.FieldByName('pttypeno').AsString := tbview.DataController.Values[i,4];
        dateSetB.FieldByName('cid').AsString := tbview.DataController.Values[i,5];
        dateSetB.FieldByName('patientname').AsString := tbview.DataController.Values[i,6];
        dateSetB.FieldByName('age').AsInteger := StrToInt(tbview.DataController.Values[i,7]);
        dateSetB.FieldByName('pdx').AsString := tbview.DataController.Values[i,8];
        dateSetB.FieldByName('income').AsFloat := StrToFloat(tbview.DataController.Values[i,9]);
        dateSetB.FieldByName('claim').AsFloat := StrToFloat(tbview.DataController.Values[i,10]);
        dateSetB.FieldByName('hospmain').AsString := tbview.DataController.Values[i,11];
        dateSetB.FieldByName('hospsub').AsString := tbview.DataController.Values[i,12];
        dateSetB.Post;
        //tbview.DataController.DeleteRecord(i);
        dateSetB.Next;
        Position := i;
        text := 'บันทึกข้อมูล : '+tbview.DataController.Values[i,0];
      end;

    end;    
  end;
end;

วันพุธที่ 21 มกราคม พ.ศ. 2558