Jump to content

MJW

Members
  • Posts

    2,848
  • Joined

  • Last visited

  • Days Won

    70

Everything posted by MJW

  1. This is hardly original advice, but always (or nearly always) put the text in a separate layer. That way, if you decide to make changes to it, it's only the text that needs to be redone. Though there may be exceptions, when the text interacts in a complex way with other parts of the image, in the vast majority of cases it can be done.
  2. There is a sub-forum devoted to translation and localization. That's where your German translation suggestions and questions should be posted. Your requests may make perfect sense for German; but as I mentioned before, they don't really make sense for English, because they are not idiomatic.
  3. I suppose that might seem a bit odd; on the other hand, if we can get used to the second number decreasing as the thing moves upward, we ought to be able to get used to that.
  4. Logically, you do have a point, but linguistically, it's dubious. For whatever odd reason, top then left is the standard order of the adjectives in English. Just as one would say a large red apple, not a red large apple.
  5. Double congratulations to @Ladybug! Lots of other clever entries,too. I found to be harder subject than I'd expected. Considering what a simple object a paper clip is, I figured it'd be a breeze.
  6. I don't really understand what you mean by saying you want both to be transparent. Perhaps it would be clear if you explained what you wish to accomplish. I'll give an example of a common use for Paste Alpha that may help. Suppose I want text over a background image, but instead of single-colored text I want it as a color gradient. Here's what I would do: 1) Add a new transparent layer over the background image. 2) Use the Text Tool to type the text into this layer in the position I want it in the final image. 3) Copy the text layer to the clipboard (for later use by Paste Alpha). 4) Add a new layer between the background layer and the text layer. 5) Use the Gradient Tool to create a color gradient in the new layer. (Since the text layer is on top, it can be used to best position the gradient) 6) Make the text layer invisible. 7) Run Paste Alpha on the gradient layer, with the alpha source set to "Alpha channel on clipboard". (Now the gradient text will be over the background). 8 ) Flatten the image if a single layer image is desired. I suggest you try the steps I just listed in order to better understand how to use Paste Alpha.
  7. Could it be that you left the text layer visible below the layer to which you applied Paste Alpha, so when the text area became transparent, the black text was visible through it? That's the only explanation that occurs to me. If you have black text on a white background as the alpha mask, you need to check Paste Alpha's Invert calculation checkbox if you want to make the text opaque and the background transparent. Otherwise, the white areas in the alpha mask will be made opaque, and the black areas transparent. Invert calculation reverses that. Also, if you have text on a transparent background, you can use that directly as the alpha mask (without blending to a white background) by selecting the "Alpha channel on clipboard" option in Paste Alpha's second drop-down list. In that mode the text color doesn't matter: the alpha values are simply copied from the clipboard to the canvas. More often than not, that's how I use Paste Alpha.
  8. BoltBait's Creative Text Pro may be what you're looking for.
  9. The pattern, in case it's not implicit from @ardneh's comment, is that each layer's opacity is divided by its distance from the bottom, starting at 1. So for five layers: Top: Opacity 51 = 255/5 Next: Opacity 64 = 255/4 (rounded) Next: Opacity 85 = 255/3 Next: Opacity 128 = 255/2 (rounded) Base: Opacity 255 = 255/1
  10. Sorry, that's not possible. Plugins (other than the inapplicable file-type plugins) can't affect multiple layers; they can only change the active layer. Plugins can't change the attributes of any layer, only the pixels. See here for a list of what plugins can and can't do.
  11. Another plugin to try is Red ochre's Aardvark.
  12. Well, actually I didn't really know what Scintillate does, and your comment "Scintillate Any use?" didn't suggest to me it did exactly what was being asked for. I suppose the comment may have been intended as a sort of understatement. In any event, the method I suggested (while more complex than using Scintillate) is pretty trivial; especially if someone already has BoltBait's plugin pack installed. My comment also answers the original question of how to select every other pixel, which could possibly be useful in itself.
  13. The Difference blend mode will, I believe, invert the color of all the pixels that are blended with white and leave the pixels blended with black unaltered. I think Negation would also work. Or do I misunderstand what you're asking Why about?
  14. If you want to invert every other pixels, this should work, I think. Add a layer. Use BoltBait's Grid/Checkerboard plugin to create a 1-pixel-width checkerboard pattern. Set the Blending Mode to Difference. Merge the layers. If you really need to select every other pixel: Create the checkerboard in a new layer. Select the Magic Wand tool. Set the Flood Mode to Global. Select a pixel. Switch to the layer you want to use it on.
  15. I've long wondered about the title-change issue with links. I'm glad someone finally asked the question I should have asked.
  16. But if you get all the ROIs at once, doesn't that imply you can write into all of them? Otherwise, of what use is EffectRenderingSchedule.None? It used to be called SingleRenderCall, or something like that, which also suggests there's a singe call for all the ROIs. EDIT: Oh, I see what the point is. If there's a selection, there will only be ROIs that cover the selected region, so writing into the unselected destination would (or could) still be disallowed. I seem to recall some knowledgeable person saying that now it's actually okay to write outside the selection, but I could be misremembering. In any case, the safe choice is to use an auxiliary surface. If that's so, though, I still don't quite see the usefulness of EffectRenderingSchedule.None. Wouldn't it be better to do the non-parallel computations in OnSetRenderInfo(), and at least get a little parallelism in the copy from the auxiliary buffer to the destination? EDIT 2: I did remember correctly. In response to a comment saying "Writing outside of the selection breaks the undo command," @toe_head2001 said: However, since it's agreed to be bad practice, it should be avoided.
  17. I've never tried this (which is why I forgot to mention it), but I believe that for cases where the rendering requires access to the entire destination surface at the same time, the auxiliary surface can be eliminated and the rendering performed in Render() by specifying EffectRenderingSchedule.None. As I understand it, this causes the rendering to be done in a single call to Render(). According to a comment by @xod, the format for requesting that it be done that way is: public YourNameEffectPlugin () : base (StaticName, StaticIcon, SubmenuName, new EffectOptions () {Flags = EffectFlags.Configurable, RenderingSchedule = EffectRenderingSchedule.None}) { } I hope someone who knows more about this than I do will correct me or provide more details. Even if this is possible, it may be better to do only as much as necessary in OnSetRenderInfo(), then complete whatever can be done in parallel in Render() if the algorithm lends itself to that.
  18. The source surface is not really separated into ROIs. The two methods that commonly deal with processing the surfaces are, void Render(Surface dst, Surface src, Rectangle rect) and (less often) void OnSetRenderInfo(PropertyBasedEffectConfigToken newToken, RenderArgs DstArgs, RenderArgs SrcArgs) OnSetRenderInfo() is called once per rendering pass, before the calls to Render(). The entire source surface is available as SrcArgs.Surface and the entire destination surface is available as DstArgs.Surface. Render() is called many times, with each call to Render() processing a single ROI. The entire source surface is available as src, and the entire destination surface is available as dst. The ROI is in the rect argument. It isn't part of a surface; it's just the bounds of the ROI, to let the particular call to Render() know what section of the surface is assigned to it. Within Render() you are free to read anywhere in the source surface, but should only write destination pixels that are within the ROI (and you should write all of them). If the algorithm needs to process the whole surface at once, as is sometimes the case, the processing is done in OnSetRenderInfo(). I'm actually not sure if it's kosher to write to the destination surface in OnSetRenderInfo(). I don't think it is. The usual practice is to create an auxiliary surface the first time OnSetRenderInfo() executes, write the desired pixels for the whole image into it in OnSetRenderInfo() during that and all subsequent calls, then copy the results to the destination surface, an ROI at a time, in Render(). If you create an auxillary surface, you should dispose of it in OnDispose(bool disposing).
  19. The first comment in this thread links to Red ochre's plugin pack thread, where you can download the plugin pack that included FurBlur. (You can just click the link in this comment to go to the plugin pack thread.)
  20. Read BoltBait's tutorial How to Write an Effect Plugin Also read What is and isn't possible when writing plugins. You will discover that it's not currently possible for an Effect plugin to access any layer except the currently active layer. If you look at the list of recent topics, you will see that there's a discussion of that very matter.
  21. Make the rectangular selection @Tactilis suggests, switch to the Move Selected Pixels Tool, then use the mouse to pull the right side of the selection rightward to the right edge, stretching the selected region to overwrite the rhombus.
  22. Replies in the Plugin section are not considered necro posts. (You may, however, get some flak for asking for support for an old version of PDN.) I'm not sure a stand-alone version of Ed Havey's Halftone effect exists, because the plugin pack consists of a single DLL, and has for a long time.
  23. I was fond of the little keyboard image accompanying (so to speak) the topic title. I just thought there needed to be a fuller description of the topic.
  24. I suggest changing the search terms for the keyboard topic to "musical keyboard images". As it is, most of the images are of typing keyboards. (Not that I really expect anyone will be misled into submitting a typing keyboard entry.) I do have a question about what exactly the entries should consist of. Are they supposed to just be the keyboard, itself (i.e., the black and white keys); or are they supposed be of a keyboard instrument, like a piano; or are they supposed to be of the type of portable electronic keyboard instrument commonly called a "keyboard"?
×
×
  • Create New...