如.题

解决方案 »

  1.   

    var 
    bmp:TBitmap; 
    jpg:TJpegImage; 
    temp:string; 
    sum:string; 
    i,j:integer; 
    jj,bb:boolean; 
    begin 
    if openpicturedialog1.Execute then 
    begin 
    edit1.Text:=openpicturedialog1.FileName; 
    bmp:=TBitmap.create; 
    jj:= AnsiEndsText('.jpg',edit1.Text);//看看是jpg文件还是bmp文件 
    bb:= AnsiEndsText('.bmp',edit1.Text); 
    if jj then 
    begin 
    Jpg:=TJpegImage.Create; 
    Jpg.LoadFromFile(openpicturedialog1.FileName); 
    bmp.assign(jpg); 
    jpg.free; 
    key:=extractfilename(edit1.Text);//将jpg转化bmp 
    sum:=key; 
    i:=length(sum); 
    i:=i-4; 
    temp:=''; 
    for j:=1 to i do 
    begin 
    temp:=temp+sum[j]; 
    end; key:=temp; 
    key:=key+'.bmp'; bmp.savetofile(key);//转化结束,因为mysql不能存jpg 
    biao:=1; 
    end 
    else if bb then 
    begin 
    bmp.LoadFromFile(openpicturedialog1.FileName); 
    key:=extractfilename(edit1.Text); 
    biao:=0; 
    end; 
    image1.Picture.LoadFromFile(openpicturedialog1.FileName); 
    bmp.free; 
    end; 
    保存图片: 
    var 
    Picture1:TPicture; 
    begin // 保存图片到数据库中 
    Picture1:=TPicture.create; 
    try 
    try 
    if fileexists(edit1.text) then 
    with ADOtable1 do 
    begin 
    adotable1.Close; 
    adotable1.Open; Picture1.LoadFromFile(key); 
    if Locate('name',extractfilename(edit1.text),[loCaseInsensitive])=false then 
    begin 
    indexfieldnames:='name'; 
    ADOtable1.Insert; 
    Fields[0].AsString:=extractfilename(key); 
    Fields[1].Assign(Picture1); 
    Post; 
    showmessage('图象保存成功!'); 
    end 
    else 
    showmessage('图象已经存在!'); 
    end; 
    finally 
    Picture1.Free; 
    bmp1.Free; 
    end; 
    except 
    showmessage('图象保存失败!'); 
    end; 
    if biao=1 then 
    DeleteFile(key); 
    end;