/// <summary> /// True if the file is a .psd.jpeg, .psd.png, etc file. /// </summary> protected bool IsPathPSDToCompose(string virtualPath, NameValueCollection queryString = null) { string fileName = System.IO.Path.GetFileName(virtualPath); //Exclude the folders, just looking at the filename here. int psd = fileName.IndexOf(".psd", StringComparison.OrdinalIgnoreCase); if (psd > -1) { //We always take the .psd. syntax if (fileName.IndexOf(".psd.", StringComparison.OrdinalIgnoreCase) > -1) { return(true); } if (queryString == null) { queryString = c.Pipeline.ModifiedQueryString; } //But we only grab the .psd syntax if we detect our commands foreach (string s in PsdCommandBuilder.GetSupportedQuerystringKeys()) { if (!string.IsNullOrEmpty(queryString[s])) { return(true); } } } return(false); }
string[] tKeys = null; //Wildcard keys public PsdCommandSearcher(PsdCommandBuilder b) { this.b = b; vKeys = b.layerVisibility.Keys.Where(key => key.Contains('*')).ToArray(); rKeys = b.layerRedraw.Keys.Where(key => key.Contains('*')).ToArray(); cKeys = b.layerColors.Keys.Where(key => key.Contains('*')).ToArray(); tKeys = b.layerText.Keys.Where(key => key.Contains('*')).ToArray(); }
internal static NameValueCollection QueryStringMinusTriggers(NameValueCollection qs) { var nvc = new NameValueCollection(qs); foreach (string s in PsdCommandBuilder.GetSupportedQuerystringKeys()) { nvc.Remove(s); } return(nvc); }
protected void Page_Load(object sender, EventArgs e) { var psd = Config.Current.Plugins.Get<PsdComposerPlugin>(); var request = Request; // generate png image link const string path = "~/text.psd"; var query = new NameValueCollection { { "format", "png" } }; var psdcmd = new PsdCommandBuilder(query); psdcmd.renderer = "psdplugin"; foreach (string s in request.QueryString) { if (!"redraw".Equals(request.QueryString[s], StringComparison.OrdinalIgnoreCase)) psdcmd.SetText(s, request.QueryString[s]); psdcmd.Redraw(s); psdcmd.Show(s); } Encoding c = Encoding.Default; psdcmd.SaveToQuerystring(query); img.ImageUrl = ResolveUrl(path) + PathUtils.BuildQueryString(query); if (psd != null) { //get all layers var layers = psd.GetAllLayers(path, query); StringBuilder sb = new StringBuilder(); foreach (IPsdLayer l in layers) { sb.AppendLine(l.Name); sb.AppendLine(l.Text); } lit.Text = "<pre>" + sb.ToString() + "</pre>"; } }
public IEnumerable <string> GetSupportedQuerystringKeys() { return(PsdCommandBuilder.GetSupportedQuerystringKeys()); }
string[] vKeys = null; //Wildcard keys #endregion Fields #region Constructors public PsdCommandSearcher(PsdCommandBuilder b) { this.b = b; vKeys = b.layerVisibility.Keys.Where(key => key.Contains('*')).ToArray(); rKeys = b.layerRedraw.Keys.Where(key => key.Contains('*')).ToArray(); cKeys = b.layerColors.Keys.Where(key => key.Contains('*')).ToArray(); tKeys = b.layerText.Keys.Where(key => key.Contains('*')).ToArray(); }