Den konverterer alt til 8 bits sRGB... :(

/Anders

On 2010-05-31 22:28, Klaus Post wrote:
> Hej!
>
> Supert.
>
> Skal jeg lave den så den gemmer i 16 bit prophoto RGB - det er i hvert
> fald det bedste format til det - eller fatter gimp det ikke alligevel
> (dvs bare konverterer det til 8 bit sRGB)?
>
>
> Regards, Klaus Post
>
> http://www.klauspost.com
>
>
>
> On Mon, May 31, 2010 at 22:20, Anders Kvist<[email protected]>  wrote:
>    
>> Author: akv
>> Date: 2010-05-31 22:20:49 +0200 (Mon, 31 May 2010)
>> New Revision: 3412
>>
>> Modified:
>>    trunk/src/rs-external-editor.c
>> Log:
>> Using correct filterchain to export to gimp - copied from rs-save-dialog.c
>>
>> Modified: trunk/src/rs-external-editor.c
>> ===================================================================
>> --- trunk/src/rs-external-editor.c      2010-05-31 01:43:09 UTC (rev 3411)
>> +++ trunk/src/rs-external-editor.c      2010-05-31 20:20:49 UTC (rev 3412)
>> @@ -63,7 +63,7 @@
>>   #ifdef WIN32
>>         return FALSE;
>>   #else
>> -       RSOutput *output;
>> +       RSOutput *output = NULL;
>>         g_assert(RS_IS_PHOTO(photo));
>>
>>         // We need at least GIMP 2.4.0 to export photo
>> @@ -80,9 +80,71 @@
>>         filename = g_string_new("");
>>          g_string_printf(filename, "%s/.rawstudio_%.0f.tif",g_get_tmp_dir(), 
>> g_random_double()*10000);
>>
>> +       /* Setup our filter chain for saving */
>> +        RSFilter *finput = rs_filter_new("RSInputImage16", NULL);
>> +        RSFilter *fdemosaic = rs_filter_new("RSDemosaic", finput);
>> +        RSFilter *flensfun = rs_filter_new("RSLensfun", fdemosaic);
>> +        RSFilter *ftransform_input = rs_filter_new("RSColorspaceTransform", 
>> flensfun);
>> +        RSFilter *frotate = rs_filter_new("RSRotate",ftransform_input) ;
>> +        RSFilter *fcrop = rs_filter_new("RSCrop", frotate);
>> +       RSFilter *fresample= rs_filter_new("RSResample", fcrop);
>> +        RSFilter *fdcp = rs_filter_new("RSDcp", fresample);
>> +        RSFilter *fdenoise= rs_filter_new("RSDenoise", fdcp);
>> +        RSFilter *ftransform_display = 
>> rs_filter_new("RSColorspaceTransform", fdenoise);
>> +        RSFilter *fend = ftransform_display;
>> +
>> +        /* Set input profile */
>> +        RSDcpFile *dcp_profile  = rs_photo_get_dcp_profile(photo);
>> +        RSIccProfile *icc_profile  = rs_photo_get_icc_profile(photo);
>> +
>> +        if (dcp_profile != NULL)
>> +        {
>> +                g_object_set(fdcp, "profile", dcp_profile, NULL);
>> +        }
>> +        if (icc_profile != NULL)
>> +        {
>> +                RSColorSpace *icc_space = 
>> rs_color_space_icc_new_from_icc(icc_profile);
>> +                g_object_set(finput, "color-space", icc_space, NULL);
>> +        }
>> +
>> +        /* Look up lens */
>> +        RSMetadata *meta = rs_photo_get_metadata(photo);
>> +        RSLensDb *lens_db = rs_lens_db_get_default();
>> +        RSLens *lens = rs_lens_db_lookup_from_metadata(lens_db, meta);
>> +
>> +        /* Apply lens information to RSLensfun */
>> +        if (lens)
>> +        {
>> +                rs_filter_set_recursive(fend,
>> +                                       "make", meta->make_ascii,
>> +                                       "model", meta->model_ascii,
>> +                                       "lens", lens,
>> +                                       "focal", (gfloat) meta->focallength,
>> +                                       "aperture", meta->aperture,
>> +                                       "tca_kr", 
>> photo->settings[snapshot]->tca_kr,
>> +                                       "tca_kb", 
>> photo->settings[snapshot]->tca_kb,
>> +                                       "vignetting", 
>> photo->settings[snapshot]->vignetting,
>> +                                       NULL);
>> +                g_object_unref(lens);
>> +        }
>> +
>> +        g_object_unref(meta);
>> +
>> +        rs_filter_set_recursive(fend,
>> +                               "image", photo->input_response,
>> +                               "angle", photo->angle,
>> +                               "orientation", photo->orientation,
>> +                               "rectangle", photo->crop,
>> +                               "filename", photo->filename,
>> +                               NULL);
>> +
>> +        rs_filter_set_recursive(fend,
>> +                               "settings", photo->settings[snapshot],
>> +                               NULL);
>> +
>>         output = rs_output_new("RSTifffile");
>>         g_object_set(output, "filename", filename->str, NULL);
>> -       rs_photo_save(photo, output, -1, -1, FALSE, 1.0, snapshot);
>> +        rs_output_execute(output, fend);
>>         g_object_unref(output);
>>
>>         message = dbus_message_new_method_call("org.gimp.GIMP.UI",
>>
>>
>> _______________________________________________
>> Rawstudio-commit mailing list
>> [email protected]
>> http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit
>>
>>      
> _______________________________________________
> Rawstudio-commit mailing list
> [email protected]
> http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit
>    


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to